diff --git a/audio/engine.asm b/audio/engine.asm index 50ce3104d..645c121a8 100644 --- a/audio/engine.asm +++ b/audio/engine.asm @@ -1294,7 +1294,7 @@ GetNoiseSample: ; load ptr to sample header in wNoiseSampleAddress ; are we on the last channel? ld a, [wCurChannel] - and NUM_MUSIC_CHANS + -1 + and NUM_MUSIC_CHANS - 1 cp CHAN4 ; ret if not ret nz diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index a8a249a5b..7e444059d 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -61,10 +61,10 @@ MOVE_LENGTH EQU const_value const STAT_DEF const STAT_SPD const STAT_SATK -NUM_EXP_STATS EQU const_value + -1 +NUM_EXP_STATS EQU const_value - 1 const STAT_SDEF -NUM_STATS EQU const_value + -1 -NUM_BATTLE_STATS EQU NUM_STATS + -1 ; don't count HP +NUM_STATS EQU const_value - 1 +NUM_BATTLE_STATS EQU NUM_STATS - 1 ; don't count HP ; stat formula constants STAT_MIN_NORMAL EQU 5 diff --git a/constants/deco_constants.asm b/constants/deco_constants.asm index d18018214..09d292d59 100644 --- a/constants/deco_constants.asm +++ b/constants/deco_constants.asm @@ -13,7 +13,7 @@ const_value = 1 const MAGNAPLANT const TROPICPLANT const JUMBOPLANT - const TOWN_MAP_D + const TOWN_MAP_POSTER const FAMICOM const SUPER_NES const NINTENDO_64 diff --git a/constants/event_flags.asm b/constants/event_flags.asm index c15e82dad..1fb88e524 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -701,10 +701,10 @@ const EVENT_DECO_PLANT_1 const EVENT_DECO_PLANT_2 const EVENT_DECO_PLANT_3 - const EVENT_DECO_PLANT_4 - const EVENT_DECO_POSTER_1 ; 2b0 - const EVENT_DECO_POSTER_2 + const EVENT_DECO_POSTER_1 + const EVENT_DECO_POSTER_2 ; 2b0 const EVENT_DECO_POSTER_3 + const EVENT_DECO_POSTER_4 const EVENT_DECO_FAMICOM const EVENT_DECO_SNES const EVENT_DECO_N64 diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 4f7888c4b..06ad1dc14 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -103,7 +103,7 @@ const MYSTIC_WATER ; 5f const TWISTEDSPOON ; 60 const WHT_APRICORN ; 61 - const BLACKBELT ; 62 + const BLACKBELT_I ; 62 const BLK_APRICORN ; 63 const ITEM_64 ; 64 const PNK_APRICORN ; 65 @@ -287,7 +287,7 @@ ENDM add_mt FLAMETHROWER add_mt THUNDERBOLT add_mt ICE_BEAM -NUM_TM_HM_TUTOR EQU __enum__ + -1 +NUM_TM_HM_TUTOR EQU __enum__ - 1 const ITEM_FA ; fa diff --git a/constants/move_constants.asm b/constants/move_constants.asm index 472ff2d0b..b26f86d03 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -257,7 +257,7 @@ const ROCK_SMASH ; f9 const WHIRLPOOL ; fa const BEAT_UP ; fb -NUM_ATTACKS EQU const_value + -1 +NUM_ATTACKS EQU const_value - 1 const MOVE_OR_ANIM_FC ; fc const MOVE_OR_ANIM_FD ; fd diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 939ac72f2..c28657b83 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -271,7 +271,7 @@ JOHTO_POKEMON EQU const_value const LUGIA ; f9 const HO_OH ; fa const CELEBI ; fb -NUM_POKEMON EQU const_value + -1 +NUM_POKEMON EQU const_value - 1 const MON_FC ; fc const EGG ; fd const MON_FE ; fe @@ -311,4 +311,4 @@ NUM_POKEMON EQU const_value + -1 const UNOWN_X ; 24 const UNOWN_Y ; 25 const UNOWN_Z ; 26 -NUM_UNOWN EQU const_value + -1 ; 26 +NUM_UNOWN EQU const_value - 1 ; 26 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index cbdbbd17b..c789f40fb 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -124,7 +124,7 @@ MONS_PER_BOX EQU 20 NUM_BOXES EQU 14 ; hall of fame -HOF_MON_LENGTH EQU 1 + 2 + 2 + 1 + (MON_NAME_LENGTH + -1) ; species, id, dvs, level, nick +HOF_MON_LENGTH EQU 1 + 2 + 2 + 1 + (MON_NAME_LENGTH - 1) ; species, id, dvs, level, nick HOF_LENGTH EQU 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator NUM_HOF_TEAMS EQU 30 diff --git a/constants/script_constants.asm b/constants/script_constants.asm index 30935e632..8d5cc46f7 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -224,7 +224,7 @@ EMOTE_FROM_MEM EQU -1 const FRUITTREE_PEWTER_CITY_1 ; 1c const FRUITTREE_PEWTER_CITY_2 ; 1d const FRUITTREE_FUCHSIA_CITY ; 1e -NUM_FRUIT_TREES EQU const_value + -1 +NUM_FRUIT_TREES EQU const_value - 1 ; describedecoration arguments ; DescribeDecoration.JumpTable indexes (see engine/overworld/decorations.asm) diff --git a/constants/type_constants.asm b/constants/type_constants.asm index c3524e9d9..3fb9649aa 100644 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -28,7 +28,7 @@ UNUSED_TYPES EQU const_value const TYPE_16 const TYPE_17 const TYPE_18 - const CURSE_T + const CURSE_TYPE UNUSED_TYPES_END EQU const_value SPECIAL EQU const_value @@ -36,7 +36,7 @@ SPECIAL EQU const_value const WATER const GRASS const ELECTRIC - const PSYCHIC + const PSYCHIC_TYPE const ICE const DRAGON const DARK diff --git a/data/decorations/attributes.asm b/data/decorations/attributes.asm index 1be457395..77cd1388b 100644 --- a/data/decorations/attributes.asm +++ b/data/decorations/attributes.asm @@ -7,56 +7,56 @@ ENDM DecorationAttributes: ; entries correspond to deco constants - decoration DECO_PLANT, $00, $0, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, $00 - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BED, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, $00 - decoration DECO_BED, FEATHERY_BED, SET_UP_BED, EVENT_DECO_BED_1, $1b - decoration DECO_BED, PINK_BED, SET_UP_BED, EVENT_DECO_BED_2, $1c - decoration DECO_BED, POLKADOT_BED, SET_UP_BED, EVENT_DECO_BED_3, $1d - decoration DECO_BED, PIKACHU_BED, SET_UP_BED, EVENT_DECO_BED_4, $1e - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_CARPET, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, $00 - decoration DECO_CARPET, RED_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_1, $08 - decoration DECO_CARPET, BLUE_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_2, $0b - decoration DECO_CARPET, YELLOW_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_3, $0e - decoration DECO_CARPET, GREEN_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_4, $11 - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_PLANT, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, $00 - decoration DECO_PLANT, MAGNAPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_1, $20 - decoration DECO_PLANT, TROPICPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_2, $21 - decoration DECO_PLANT, JUMBOPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_3, $22 - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_POSTER, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, $00 - decoration DECO_PLANT, TOWN_MAP_D, SET_UP_POSTER, EVENT_DECO_PLANT_4, $1f - decoration DECO_POSTER, PIKACHU, SET_UP_POSTER, EVENT_DECO_POSTER_1, $23 - decoration DECO_POSTER, CLEFAIRY, SET_UP_POSTER, EVENT_DECO_POSTER_2, $24 - decoration DECO_POSTER, JIGGLYPUFF, SET_UP_POSTER, EVENT_DECO_POSTER_3, $25 - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_CONSOLE, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, $00 - decoration DECO_PLANT, FAMICOM, SET_UP_CONSOLE, EVENT_DECO_FAMICOM, SPRITE_FAMICOM - decoration DECO_PLANT, SUPER_NES, SET_UP_CONSOLE, EVENT_DECO_SNES, SPRITE_SNES - decoration DECO_PLANT, NINTENDO_64, SET_UP_CONSOLE, EVENT_DECO_N64, SPRITE_N64 - decoration DECO_PLANT, VIRTUAL_BOY, SET_UP_CONSOLE, EVENT_DECO_VIRTUAL_BOY, SPRITE_VIRTUAL_BOY - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BIG_DOLL, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, $00 - decoration DECO_BIGDOLL, SNORLAX, SET_UP_BIG_DOLL, EVENT_DECO_BIG_SNORLAX_DOLL, SPRITE_BIG_SNORLAX - decoration DECO_BIGDOLL, ONIX, SET_UP_BIG_DOLL, EVENT_DECO_BIG_ONIX_DOLL, SPRITE_BIG_ONIX - decoration DECO_BIGDOLL, LAPRAS, SET_UP_BIG_DOLL, EVENT_DECO_BIG_LAPRAS_DOLL, SPRITE_BIG_LAPRAS - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_DOLL, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, $00 - decoration DECO_DOLL, PIKACHU, SET_UP_DOLL, EVENT_DECO_PIKACHU_DOLL, SPRITE_PIKACHU - decoration DECO_PLANT, SURF_PIKA_DOLL, SET_UP_DOLL, EVENT_DECO_SURFING_PIKACHU_DOLL, SPRITE_SURFING_PIKACHU - decoration DECO_DOLL, CLEFAIRY, SET_UP_DOLL, EVENT_DECO_CLEFAIRY_DOLL, SPRITE_CLEFAIRY - decoration DECO_DOLL, JIGGLYPUFF, SET_UP_DOLL, EVENT_DECO_JIGGLYPUFF_DOLL, SPRITE_JIGGLYPUFF - decoration DECO_DOLL, BULBASAUR, SET_UP_DOLL, EVENT_DECO_BULBASAUR_DOLL, SPRITE_BULBASAUR - decoration DECO_DOLL, CHARMANDER, SET_UP_DOLL, EVENT_DECO_CHARMANDER_DOLL, SPRITE_CHARMANDER - decoration DECO_DOLL, SQUIRTLE, SET_UP_DOLL, EVENT_DECO_SQUIRTLE_DOLL, SPRITE_SQUIRTLE - decoration DECO_DOLL, POLIWAG, SET_UP_DOLL, EVENT_DECO_POLIWAG_DOLL, SPRITE_POLIWAG - decoration DECO_DOLL, DIGLETT, SET_UP_DOLL, EVENT_DECO_DIGLETT_DOLL, SPRITE_DIGLETT - decoration DECO_DOLL, STARYU, SET_UP_DOLL, EVENT_DECO_STARMIE_DOLL, SPRITE_STARMIE - decoration DECO_DOLL, MAGIKARP, SET_UP_DOLL, EVENT_DECO_MAGIKARP_DOLL, SPRITE_MAGIKARP - decoration DECO_DOLL, ODDISH, SET_UP_DOLL, EVENT_DECO_ODDISH_DOLL, SPRITE_ODDISH - decoration DECO_DOLL, GENGAR, SET_UP_DOLL, EVENT_DECO_GENGAR_DOLL, SPRITE_GENGAR - decoration DECO_DOLL, SHELLDER, SET_UP_DOLL, EVENT_DECO_SHELLDER_DOLL, SPRITE_SHELLDER - decoration DECO_DOLL, GRIMER, SET_UP_DOLL, EVENT_DECO_GRIMER_DOLL, SPRITE_GRIMER - decoration DECO_DOLL, VOLTORB, SET_UP_DOLL, EVENT_DECO_VOLTORB_DOLL, SPRITE_VOLTORB - decoration DECO_DOLL, WEEDLE, SET_UP_DOLL, EVENT_DECO_WEEDLE_DOLL, SPRITE_WEEDLE - decoration DECO_DOLL, UNOWN, SET_UP_DOLL, EVENT_DECO_UNOWN_DOLL, SPRITE_UNOWN - decoration DECO_DOLL, GEODUDE, SET_UP_DOLL, EVENT_DECO_GEODUDE_DOLL, SPRITE_GEODUDE - decoration DECO_DOLL, MACHOP, SET_UP_DOLL, EVENT_DECO_MACHOP_DOLL, SPRITE_MACHOP - decoration DECO_DOLL, TENTACOOL, SET_UP_DOLL, EVENT_DECO_TENTACOOL_DOLL, SPRITE_TENTACOOL - decoration DECO_PLANT, GOLD_TROPHY, SET_UP_DOLL, EVENT_DECO_GOLD_TROPHY, SPRITE_GOLD_TROPHY - decoration DECO_PLANT, SILVER_TROPHY, SET_UP_DOLL, EVENT_DECO_SILVER_TROPHY, SPRITE_SILVER_TROPHY + decoration DECO_PLANT, 0, 0, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BED, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_BED, FEATHERY_BED, SET_UP_BED, EVENT_DECO_BED_1, $1b + decoration DECO_BED, PINK_BED, SET_UP_BED, EVENT_DECO_BED_2, $1c + decoration DECO_BED, POLKADOT_BED, SET_UP_BED, EVENT_DECO_BED_3, $1d + decoration DECO_BED, PIKACHU_BED, SET_UP_BED, EVENT_DECO_BED_4, $1e + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_CARPET, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_CARPET, RED_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_1, $08 + decoration DECO_CARPET, BLUE_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_2, $0b + decoration DECO_CARPET, YELLOW_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_3, $0e + decoration DECO_CARPET, GREEN_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_4, $11 + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_PLANT, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_PLANT, MAGNAPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_1, $20 + decoration DECO_PLANT, TROPICPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_2, $21 + decoration DECO_PLANT, JUMBOPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_3, $22 + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_POSTER, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_PLANT, TOWN_MAP_POSTER, SET_UP_POSTER, EVENT_DECO_POSTER_1, $1f + decoration DECO_POSTER, PIKACHU, SET_UP_POSTER, EVENT_DECO_POSTER_2, $23 + decoration DECO_POSTER, CLEFAIRY, SET_UP_POSTER, EVENT_DECO_POSTER_3, $24 + decoration DECO_POSTER, JIGGLYPUFF, SET_UP_POSTER, EVENT_DECO_POSTER_4, $25 + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_CONSOLE, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_PLANT, FAMICOM, SET_UP_CONSOLE, EVENT_DECO_FAMICOM, SPRITE_FAMICOM + decoration DECO_PLANT, SUPER_NES, SET_UP_CONSOLE, EVENT_DECO_SNES, SPRITE_SNES + decoration DECO_PLANT, NINTENDO_64, SET_UP_CONSOLE, EVENT_DECO_N64, SPRITE_N64 + decoration DECO_PLANT, VIRTUAL_BOY, SET_UP_CONSOLE, EVENT_DECO_VIRTUAL_BOY, SPRITE_VIRTUAL_BOY + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BIG_DOLL, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_BIGDOLL, SNORLAX, SET_UP_BIG_DOLL, EVENT_DECO_BIG_SNORLAX_DOLL, SPRITE_BIG_SNORLAX + decoration DECO_BIGDOLL, ONIX, SET_UP_BIG_DOLL, EVENT_DECO_BIG_ONIX_DOLL, SPRITE_BIG_ONIX + decoration DECO_BIGDOLL, LAPRAS, SET_UP_BIG_DOLL, EVENT_DECO_BIG_LAPRAS_DOLL, SPRITE_BIG_LAPRAS + decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_DOLL, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 + decoration DECO_DOLL, PIKACHU, SET_UP_DOLL, EVENT_DECO_PIKACHU_DOLL, SPRITE_PIKACHU + decoration DECO_PLANT, SURF_PIKA_DOLL, SET_UP_DOLL, EVENT_DECO_SURFING_PIKACHU_DOLL, SPRITE_SURFING_PIKACHU + decoration DECO_DOLL, CLEFAIRY, SET_UP_DOLL, EVENT_DECO_CLEFAIRY_DOLL, SPRITE_CLEFAIRY + decoration DECO_DOLL, JIGGLYPUFF, SET_UP_DOLL, EVENT_DECO_JIGGLYPUFF_DOLL, SPRITE_JIGGLYPUFF + decoration DECO_DOLL, BULBASAUR, SET_UP_DOLL, EVENT_DECO_BULBASAUR_DOLL, SPRITE_BULBASAUR + decoration DECO_DOLL, CHARMANDER, SET_UP_DOLL, EVENT_DECO_CHARMANDER_DOLL, SPRITE_CHARMANDER + decoration DECO_DOLL, SQUIRTLE, SET_UP_DOLL, EVENT_DECO_SQUIRTLE_DOLL, SPRITE_SQUIRTLE + decoration DECO_DOLL, POLIWAG, SET_UP_DOLL, EVENT_DECO_POLIWAG_DOLL, SPRITE_POLIWAG + decoration DECO_DOLL, DIGLETT, SET_UP_DOLL, EVENT_DECO_DIGLETT_DOLL, SPRITE_DIGLETT + decoration DECO_DOLL, STARYU, SET_UP_DOLL, EVENT_DECO_STARMIE_DOLL, SPRITE_STARMIE + decoration DECO_DOLL, MAGIKARP, SET_UP_DOLL, EVENT_DECO_MAGIKARP_DOLL, SPRITE_MAGIKARP + decoration DECO_DOLL, ODDISH, SET_UP_DOLL, EVENT_DECO_ODDISH_DOLL, SPRITE_ODDISH + decoration DECO_DOLL, GENGAR, SET_UP_DOLL, EVENT_DECO_GENGAR_DOLL, SPRITE_GENGAR + decoration DECO_DOLL, SHELLDER, SET_UP_DOLL, EVENT_DECO_SHELLDER_DOLL, SPRITE_SHELLDER + decoration DECO_DOLL, GRIMER, SET_UP_DOLL, EVENT_DECO_GRIMER_DOLL, SPRITE_GRIMER + decoration DECO_DOLL, VOLTORB, SET_UP_DOLL, EVENT_DECO_VOLTORB_DOLL, SPRITE_VOLTORB + decoration DECO_DOLL, WEEDLE, SET_UP_DOLL, EVENT_DECO_WEEDLE_DOLL, SPRITE_WEEDLE + decoration DECO_DOLL, UNOWN, SET_UP_DOLL, EVENT_DECO_UNOWN_DOLL, SPRITE_UNOWN + decoration DECO_DOLL, GEODUDE, SET_UP_DOLL, EVENT_DECO_GEODUDE_DOLL, SPRITE_GEODUDE + decoration DECO_DOLL, MACHOP, SET_UP_DOLL, EVENT_DECO_MACHOP_DOLL, SPRITE_MACHOP + decoration DECO_DOLL, TENTACOOL, SET_UP_DOLL, EVENT_DECO_TENTACOOL_DOLL, SPRITE_TENTACOOL + decoration DECO_PLANT, GOLD_TROPHY, SET_UP_DOLL, EVENT_DECO_GOLD_TROPHY, SPRITE_GOLD_TROPHY + decoration DECO_PLANT, SILVER_TROPHY, SET_UP_DOLL, EVENT_DECO_SILVER_TROPHY, SPRITE_SILVER_TROPHY diff --git a/data/items/attributes.asm b/data/items/attributes.asm index 806a2ef28..60ada8b6e 100644 --- a/data/items/attributes.asm +++ b/data/items/attributes.asm @@ -201,7 +201,7 @@ ItemAttributes: 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 +; BLACKBELT_I 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 diff --git a/data/items/descriptions.asm b/data/items/descriptions.asm index e0f009047..2a7900b3a 100644 --- a/data/items/descriptions.asm +++ b/data/items/descriptions.asm @@ -188,7 +188,7 @@ ItemDescriptions: dw MorphMailDesc dw BlueSkyMailDesc dw MusicMailDesc - dw MewMailDesc + dw MirageMailDesc dw TeruSama25Desc dw TeruSama26Desc dw TeruSama26Desc @@ -978,7 +978,7 @@ MusicMailDesc: db "NATU-print MAIL." next "(HOLD)@" -MewMailDesc: +MirageMailDesc: db "MEW-print MAIL." next "(HOLD)@" diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index 0b49a351a..d149f59ce 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -38,7 +38,7 @@ _tgt = 0 endc if "\1" == "north" -_blk = \3_WIDTH * (\3_HEIGHT + -3) + _src +_blk = \3_WIDTH * (\3_HEIGHT - 3) + _src _map = _tgt _win = (\3_WIDTH + 6) * \3_HEIGHT + 1 _y = \3_HEIGHT * 2 - 1 @@ -60,9 +60,9 @@ _len = \3_WIDTH endc elif "\1" == "west" -_blk = (\3_WIDTH * _src) + \3_WIDTH + -3 +_blk = (\3_WIDTH * _src) + \3_WIDTH - 3 _map = (CURRENT_MAP_WIDTH + 6) * _tgt -_win = (\3_WIDTH + 6) * 2 + -6 +_win = (\3_WIDTH + 6) * 2 - 6 _y = (\4) * -2 _x = \3_WIDTH * 2 - 1 _len = CURRENT_MAP_HEIGHT + 3 - (\4) diff --git a/data/moves/moves.asm b/data/moves/moves.asm index b310ba000..49c17d9bc 100644 --- a/data/moves/moves.asm +++ b/data/moves/moves.asm @@ -12,254 +12,254 @@ ENDM Moves: ; entries correspond to constants/move_constants.asm - move POUND, EFFECT_NORMAL_HIT, 40, NORMAL, 100, 35, 0 - move KARATE_CHOP, EFFECT_NORMAL_HIT, 50, FIGHTING, 100, 25, 0 - move DOUBLESLAP, EFFECT_MULTI_HIT, 15, NORMAL, 85, 10, 0 - move COMET_PUNCH, EFFECT_MULTI_HIT, 18, NORMAL, 85, 15, 0 - move MEGA_PUNCH, EFFECT_NORMAL_HIT, 80, NORMAL, 85, 20, 0 - move PAY_DAY, EFFECT_PAY_DAY, 40, NORMAL, 100, 20, 0 - move FIRE_PUNCH, EFFECT_BURN_HIT, 75, FIRE, 100, 15, 10 - move ICE_PUNCH, EFFECT_FREEZE_HIT, 75, ICE, 100, 15, 10 - move THUNDERPUNCH, EFFECT_PARALYZE_HIT, 75, ELECTRIC, 100, 15, 10 - move SCRATCH, EFFECT_NORMAL_HIT, 40, NORMAL, 100, 35, 0 - move VICEGRIP, EFFECT_NORMAL_HIT, 55, NORMAL, 100, 30, 0 - move GUILLOTINE, EFFECT_OHKO, 0, NORMAL, 30, 5, 0 - move RAZOR_WIND, EFFECT_RAZOR_WIND, 80, NORMAL, 75, 10, 0 - move SWORDS_DANCE, EFFECT_ATTACK_UP_2, 0, NORMAL, 100, 30, 0 - move CUT, EFFECT_NORMAL_HIT, 50, NORMAL, 95, 30, 0 - move GUST, EFFECT_GUST, 40, FLYING, 100, 35, 0 - move WING_ATTACK, EFFECT_NORMAL_HIT, 60, FLYING, 100, 35, 0 - move WHIRLWIND, EFFECT_FORCE_SWITCH, 0, NORMAL, 100, 20, 0 - move FLY, EFFECT_FLY, 70, FLYING, 95, 15, 0 - move BIND, EFFECT_TRAP_TARGET, 15, NORMAL, 75, 20, 0 - move SLAM, EFFECT_NORMAL_HIT, 80, NORMAL, 75, 20, 0 - move VINE_WHIP, EFFECT_NORMAL_HIT, 35, GRASS, 100, 10, 0 - move STOMP, EFFECT_STOMP, 65, NORMAL, 100, 20, 30 - move DOUBLE_KICK, EFFECT_DOUBLE_HIT, 30, FIGHTING, 100, 30, 0 - move MEGA_KICK, EFFECT_NORMAL_HIT, 120, NORMAL, 75, 5, 0 - move JUMP_KICK, EFFECT_JUMP_KICK, 70, FIGHTING, 95, 25, 0 - move ROLLING_KICK, EFFECT_FLINCH_HIT, 60, FIGHTING, 85, 15, 30 - move SAND_ATTACK, EFFECT_ACCURACY_DOWN, 0, GROUND, 100, 15, 0 - move HEADBUTT, EFFECT_FLINCH_HIT, 70, NORMAL, 100, 15, 30 - move HORN_ATTACK, EFFECT_NORMAL_HIT, 65, NORMAL, 100, 25, 0 - move FURY_ATTACK, EFFECT_MULTI_HIT, 15, NORMAL, 85, 20, 0 - move HORN_DRILL, EFFECT_OHKO, 1, NORMAL, 30, 5, 0 - move TACKLE, EFFECT_NORMAL_HIT, 35, NORMAL, 95, 35, 0 - move BODY_SLAM, EFFECT_PARALYZE_HIT, 85, NORMAL, 100, 15, 30 - move WRAP, EFFECT_TRAP_TARGET, 15, NORMAL, 85, 20, 0 - move TAKE_DOWN, EFFECT_RECOIL_HIT, 90, NORMAL, 85, 20, 0 - move THRASH, EFFECT_RAMPAGE, 90, NORMAL, 100, 20, 0 - move DOUBLE_EDGE, EFFECT_RECOIL_HIT, 120, NORMAL, 100, 15, 0 - move TAIL_WHIP, EFFECT_DEFENSE_DOWN, 0, NORMAL, 100, 30, 0 - move POISON_STING, EFFECT_POISON_HIT, 15, POISON, 100, 35, 30 - move TWINEEDLE, EFFECT_POISON_MULTI_HIT, 25, BUG, 100, 20, 20 - move PIN_MISSILE, EFFECT_MULTI_HIT, 14, BUG, 85, 20, 0 - move LEER, EFFECT_DEFENSE_DOWN, 0, NORMAL, 100, 30, 0 - move BITE, EFFECT_FLINCH_HIT, 60, DARK, 100, 25, 30 - move GROWL, EFFECT_ATTACK_DOWN, 0, NORMAL, 100, 40, 0 - move ROAR, EFFECT_FORCE_SWITCH, 0, NORMAL, 100, 20, 0 - move SING, EFFECT_SLEEP, 0, NORMAL, 55, 15, 0 - move SUPERSONIC, EFFECT_CONFUSE, 0, NORMAL, 55, 20, 0 - move SONICBOOM, EFFECT_STATIC_DAMAGE, 20, NORMAL, 90, 20, 0 - move DISABLE, EFFECT_DISABLE, 0, NORMAL, 55, 20, 0 - move ACID, EFFECT_DEFENSE_DOWN_HIT, 40, POISON, 100, 30, 10 - move EMBER, EFFECT_BURN_HIT, 40, FIRE, 100, 25, 10 - move FLAMETHROWER, EFFECT_BURN_HIT, 95, FIRE, 100, 15, 10 - move MIST, EFFECT_MIST, 0, ICE, 100, 30, 0 - move WATER_GUN, EFFECT_NORMAL_HIT, 40, WATER, 100, 25, 0 - move HYDRO_PUMP, EFFECT_NORMAL_HIT, 120, WATER, 80, 5, 0 - move SURF, EFFECT_NORMAL_HIT, 95, WATER, 100, 15, 0 - move ICE_BEAM, EFFECT_FREEZE_HIT, 95, ICE, 100, 10, 10 - move BLIZZARD, EFFECT_FREEZE_HIT, 120, ICE, 70, 5, 10 - move PSYBEAM, EFFECT_CONFUSE_HIT, 65, PSYCHIC, 100, 20, 10 - move BUBBLEBEAM, EFFECT_SPEED_DOWN_HIT, 65, WATER, 100, 20, 10 - move AURORA_BEAM, EFFECT_ATTACK_DOWN_HIT, 65, ICE, 100, 20, 10 - move HYPER_BEAM, EFFECT_HYPER_BEAM, 150, NORMAL, 90, 5, 0 - move PECK, EFFECT_NORMAL_HIT, 35, FLYING, 100, 35, 0 - move DRILL_PECK, EFFECT_NORMAL_HIT, 80, FLYING, 100, 20, 0 - move SUBMISSION, EFFECT_RECOIL_HIT, 80, FIGHTING, 80, 25, 0 - move LOW_KICK, EFFECT_FLINCH_HIT, 50, FIGHTING, 90, 20, 30 - move COUNTER, EFFECT_COUNTER, 1, FIGHTING, 100, 20, 0 - move SEISMIC_TOSS, EFFECT_LEVEL_DAMAGE, 1, FIGHTING, 100, 20, 0 - move STRENGTH, EFFECT_NORMAL_HIT, 80, NORMAL, 100, 15, 0 - move ABSORB, EFFECT_LEECH_HIT, 20, GRASS, 100, 20, 0 - move MEGA_DRAIN, EFFECT_LEECH_HIT, 40, GRASS, 100, 10, 0 - move LEECH_SEED, EFFECT_LEECH_SEED, 0, GRASS, 90, 10, 0 - move GROWTH, EFFECT_SP_ATK_UP, 0, NORMAL, 100, 40, 0 - move RAZOR_LEAF, EFFECT_NORMAL_HIT, 55, GRASS, 95, 25, 0 - move SOLARBEAM, EFFECT_SOLARBEAM, 120, GRASS, 100, 10, 0 - move POISONPOWDER, EFFECT_POISON, 0, POISON, 75, 35, 0 - move STUN_SPORE, EFFECT_PARALYZE, 0, GRASS, 75, 30, 0 - move SLEEP_POWDER, EFFECT_SLEEP, 0, GRASS, 75, 15, 0 - move PETAL_DANCE, EFFECT_RAMPAGE, 70, GRASS, 100, 20, 0 - move STRING_SHOT, EFFECT_SPEED_DOWN, 0, BUG, 95, 40, 0 - move DRAGON_RAGE, EFFECT_STATIC_DAMAGE, 40, DRAGON, 100, 10, 0 - move FIRE_SPIN, EFFECT_TRAP_TARGET, 15, FIRE, 70, 15, 0 - move THUNDERSHOCK, EFFECT_PARALYZE_HIT, 40, ELECTRIC, 100, 30, 10 - move THUNDERBOLT, EFFECT_PARALYZE_HIT, 95, ELECTRIC, 100, 15, 10 - move THUNDER_WAVE, EFFECT_PARALYZE, 0, ELECTRIC, 100, 20, 0 - move THUNDER, EFFECT_THUNDER, 120, ELECTRIC, 70, 10, 30 - move ROCK_THROW, EFFECT_NORMAL_HIT, 50, ROCK, 90, 15, 0 - move EARTHQUAKE, EFFECT_EARTHQUAKE, 100, GROUND, 100, 10, 0 - move FISSURE, EFFECT_OHKO, 1, GROUND, 30, 5, 0 - move DIG, EFFECT_FLY, 60, GROUND, 100, 10, 0 - move TOXIC, EFFECT_TOXIC, 0, POISON, 85, 10, 0 - move CONFUSION, EFFECT_CONFUSE_HIT, 50, PSYCHIC, 100, 25, 10 - move PSYCHIC_M, EFFECT_SP_DEF_DOWN_HIT, 90, PSYCHIC, 100, 10, 10 - move HYPNOSIS, EFFECT_SLEEP, 0, PSYCHIC, 60, 20, 0 - move MEDITATE, EFFECT_ATTACK_UP, 0, PSYCHIC, 100, 40, 0 - move AGILITY, EFFECT_SPEED_UP_2, 0, PSYCHIC, 100, 30, 0 - move QUICK_ATTACK, EFFECT_PRIORITY_HIT, 40, NORMAL, 100, 30, 0 - move RAGE, EFFECT_RAGE, 20, NORMAL, 100, 20, 0 - move TELEPORT, EFFECT_TELEPORT, 0, PSYCHIC, 100, 20, 0 - move NIGHT_SHADE, EFFECT_LEVEL_DAMAGE, 1, GHOST, 100, 15, 0 - move MIMIC, EFFECT_MIMIC, 0, NORMAL, 100, 10, 0 - move SCREECH, EFFECT_DEFENSE_DOWN_2, 0, NORMAL, 85, 40, 0 - move DOUBLE_TEAM, EFFECT_EVASION_UP, 0, NORMAL, 100, 15, 0 - move RECOVER, EFFECT_HEAL, 0, NORMAL, 100, 20, 0 - move HARDEN, EFFECT_DEFENSE_UP, 0, NORMAL, 100, 30, 0 - move MINIMIZE, EFFECT_EVASION_UP, 0, NORMAL, 100, 20, 0 - move SMOKESCREEN, EFFECT_ACCURACY_DOWN, 0, NORMAL, 100, 20, 0 - move CONFUSE_RAY, EFFECT_CONFUSE, 0, GHOST, 100, 10, 0 - move WITHDRAW, EFFECT_DEFENSE_UP, 0, WATER, 100, 40, 0 - move DEFENSE_CURL, EFFECT_DEFENSE_CURL, 0, NORMAL, 100, 40, 0 - move BARRIER, EFFECT_DEFENSE_UP_2, 0, PSYCHIC, 100, 30, 0 - move LIGHT_SCREEN, EFFECT_LIGHT_SCREEN, 0, PSYCHIC, 100, 30, 0 - move HAZE, EFFECT_RESET_STATS, 0, ICE, 100, 30, 0 - move REFLECT, EFFECT_REFLECT, 0, PSYCHIC, 100, 20, 0 - move FOCUS_ENERGY, EFFECT_FOCUS_ENERGY, 0, NORMAL, 100, 30, 0 - move BIDE, EFFECT_BIDE, 0, NORMAL, 100, 10, 0 - move METRONOME, EFFECT_METRONOME, 0, NORMAL, 100, 10, 0 - move MIRROR_MOVE, EFFECT_MIRROR_MOVE, 0, FLYING, 100, 20, 0 - move SELFDESTRUCT, EFFECT_SELFDESTRUCT, 200, NORMAL, 100, 5, 0 - move EGG_BOMB, EFFECT_NORMAL_HIT, 100, NORMAL, 75, 10, 0 - move LICK, EFFECT_PARALYZE_HIT, 20, GHOST, 100, 30, 30 - move SMOG, EFFECT_POISON_HIT, 20, POISON, 70, 20, 40 - move SLUDGE, EFFECT_POISON_HIT, 65, POISON, 100, 20, 30 - move BONE_CLUB, EFFECT_FLINCH_HIT, 65, GROUND, 85, 20, 10 - move FIRE_BLAST, EFFECT_BURN_HIT, 120, FIRE, 85, 5, 10 - move WATERFALL, EFFECT_NORMAL_HIT, 80, WATER, 100, 15, 0 - move CLAMP, EFFECT_TRAP_TARGET, 35, WATER, 75, 10, 0 - move SWIFT, EFFECT_ALWAYS_HIT, 60, NORMAL, 100, 20, 0 - move SKULL_BASH, EFFECT_SKULL_BASH, 100, NORMAL, 100, 15, 0 - move SPIKE_CANNON, EFFECT_MULTI_HIT, 20, NORMAL, 100, 15, 0 - move CONSTRICT, EFFECT_SPEED_DOWN_HIT, 10, NORMAL, 100, 35, 10 - move AMNESIA, EFFECT_SP_DEF_UP_2, 0, PSYCHIC, 100, 20, 0 - move KINESIS, EFFECT_ACCURACY_DOWN, 0, PSYCHIC, 80, 15, 0 - move SOFTBOILED, EFFECT_HEAL, 0, NORMAL, 100, 10, 0 - move HI_JUMP_KICK, EFFECT_JUMP_KICK, 85, FIGHTING, 90, 20, 0 - move GLARE, EFFECT_PARALYZE, 0, NORMAL, 75, 30, 0 - move DREAM_EATER, EFFECT_DREAM_EATER, 100, PSYCHIC, 100, 15, 0 - move POISON_GAS, EFFECT_POISON, 0, POISON, 55, 40, 0 - move BARRAGE, EFFECT_MULTI_HIT, 15, NORMAL, 85, 20, 0 - move LEECH_LIFE, EFFECT_LEECH_HIT, 20, BUG, 100, 15, 0 - move LOVELY_KISS, EFFECT_SLEEP, 0, NORMAL, 75, 10, 0 - move SKY_ATTACK, EFFECT_SKY_ATTACK, 140, FLYING, 90, 5, 0 - move TRANSFORM, EFFECT_TRANSFORM, 0, NORMAL, 100, 10, 0 - move BUBBLE, EFFECT_SPEED_DOWN_HIT, 20, WATER, 100, 30, 10 - move DIZZY_PUNCH, EFFECT_CONFUSE_HIT, 70, NORMAL, 100, 10, 20 - move SPORE, EFFECT_SLEEP, 0, GRASS, 100, 15, 0 - move FLASH, EFFECT_ACCURACY_DOWN, 0, NORMAL, 70, 20, 0 - move PSYWAVE, EFFECT_PSYWAVE, 1, PSYCHIC, 80, 15, 0 - move SPLASH, EFFECT_SPLASH, 0, NORMAL, 100, 40, 0 - move ACID_ARMOR, EFFECT_DEFENSE_UP_2, 0, POISON, 100, 40, 0 - move CRABHAMMER, EFFECT_NORMAL_HIT, 90, WATER, 85, 10, 0 - move EXPLOSION, EFFECT_SELFDESTRUCT, 250, NORMAL, 100, 5, 0 - move FURY_SWIPES, EFFECT_MULTI_HIT, 18, NORMAL, 80, 15, 0 - move BONEMERANG, EFFECT_DOUBLE_HIT, 50, GROUND, 90, 10, 0 - move REST, EFFECT_HEAL, 0, PSYCHIC, 100, 10, 0 - move ROCK_SLIDE, EFFECT_FLINCH_HIT, 75, ROCK, 90, 10, 30 - move HYPER_FANG, EFFECT_FLINCH_HIT, 80, NORMAL, 90, 15, 10 - move SHARPEN, EFFECT_ATTACK_UP, 0, NORMAL, 100, 30, 0 - move CONVERSION, EFFECT_CONVERSION, 0, NORMAL, 100, 30, 0 - move TRI_ATTACK, EFFECT_TRI_ATTACK, 80, NORMAL, 100, 10, 20 - move SUPER_FANG, EFFECT_SUPER_FANG, 1, NORMAL, 90, 10, 0 - move SLASH, EFFECT_NORMAL_HIT, 70, NORMAL, 100, 20, 0 - move SUBSTITUTE, EFFECT_SUBSTITUTE, 0, NORMAL, 100, 10, 0 - move STRUGGLE, EFFECT_RECOIL_HIT, 50, NORMAL, 100, 1, 0 - move SKETCH, EFFECT_SKETCH, 0, NORMAL, 100, 1, 0 - move TRIPLE_KICK, EFFECT_TRIPLE_KICK, 10, FIGHTING, 90, 10, 0 - move THIEF, EFFECT_THIEF, 40, DARK, 100, 10, 100 - move SPIDER_WEB, EFFECT_MEAN_LOOK, 0, BUG, 100, 10, 0 - move MIND_READER, EFFECT_LOCK_ON, 0, NORMAL, 100, 5, 0 - move NIGHTMARE, EFFECT_NIGHTMARE, 0, GHOST, 100, 15, 0 - move FLAME_WHEEL, EFFECT_FLAME_WHEEL, 60, FIRE, 100, 25, 10 - move SNORE, EFFECT_SNORE, 40, NORMAL, 100, 15, 30 - move CURSE, EFFECT_CURSE, 0, CURSE_T, 100, 10, 0 - move FLAIL, EFFECT_REVERSAL, 1, NORMAL, 100, 15, 0 - move CONVERSION2, EFFECT_CONVERSION2, 0, NORMAL, 100, 30, 0 - move AEROBLAST, EFFECT_NORMAL_HIT, 100, FLYING, 95, 5, 0 - move COTTON_SPORE, EFFECT_SPEED_DOWN_2, 0, GRASS, 85, 40, 0 - move REVERSAL, EFFECT_REVERSAL, 1, FIGHTING, 100, 15, 0 - move SPITE, EFFECT_SPITE, 0, GHOST, 100, 10, 0 - move POWDER_SNOW, EFFECT_FREEZE_HIT, 40, ICE, 100, 25, 10 - move PROTECT, EFFECT_PROTECT, 0, NORMAL, 100, 10, 0 - move MACH_PUNCH, EFFECT_PRIORITY_HIT, 40, FIGHTING, 100, 30, 0 - move SCARY_FACE, EFFECT_SPEED_DOWN_2, 0, NORMAL, 90, 10, 0 - move FAINT_ATTACK, EFFECT_ALWAYS_HIT, 60, DARK, 100, 20, 0 - move SWEET_KISS, EFFECT_CONFUSE, 0, NORMAL, 75, 10, 0 - move BELLY_DRUM, EFFECT_BELLY_DRUM, 0, NORMAL, 100, 10, 0 - move SLUDGE_BOMB, EFFECT_POISON_HIT, 90, POISON, 100, 10, 30 - move MUD_SLAP, EFFECT_ACCURACY_DOWN_HIT, 20, GROUND, 100, 10, 100 - move OCTAZOOKA, EFFECT_ACCURACY_DOWN_HIT, 65, WATER, 85, 10, 50 - move SPIKES, EFFECT_SPIKES, 0, GROUND, 100, 20, 0 - move ZAP_CANNON, EFFECT_PARALYZE_HIT, 100, ELECTRIC, 50, 5, 100 - move FORESIGHT, EFFECT_FORESIGHT, 0, NORMAL, 100, 40, 0 - move DESTINY_BOND, EFFECT_DESTINY_BOND, 0, GHOST, 100, 5, 0 - move PERISH_SONG, EFFECT_PERISH_SONG, 0, NORMAL, 100, 5, 0 - move ICY_WIND, EFFECT_SPEED_DOWN_HIT, 55, ICE, 95, 15, 100 - move DETECT, EFFECT_PROTECT, 0, FIGHTING, 100, 5, 0 - move BONE_RUSH, EFFECT_MULTI_HIT, 25, GROUND, 80, 10, 0 - move LOCK_ON, EFFECT_LOCK_ON, 0, NORMAL, 100, 5, 0 - move OUTRAGE, EFFECT_RAMPAGE, 90, DRAGON, 100, 15, 0 - move SANDSTORM, EFFECT_SANDSTORM, 0, ROCK, 100, 10, 0 - move GIGA_DRAIN, EFFECT_LEECH_HIT, 60, GRASS, 100, 5, 0 - move ENDURE, EFFECT_ENDURE, 0, NORMAL, 100, 10, 0 - move CHARM, EFFECT_ATTACK_DOWN_2, 0, NORMAL, 100, 20, 0 - move ROLLOUT, EFFECT_ROLLOUT, 30, ROCK, 90, 20, 0 - move FALSE_SWIPE, EFFECT_FALSE_SWIPE, 40, NORMAL, 100, 40, 0 - move SWAGGER, EFFECT_SWAGGER, 0, NORMAL, 90, 15, 100 - move MILK_DRINK, EFFECT_HEAL, 0, NORMAL, 100, 10, 0 - move SPARK, EFFECT_PARALYZE_HIT, 65, ELECTRIC, 100, 20, 30 - move FURY_CUTTER, EFFECT_FURY_CUTTER, 10, BUG, 95, 20, 0 - move STEEL_WING, EFFECT_DEFENSE_UP_HIT, 70, STEEL, 90, 25, 10 - move MEAN_LOOK, EFFECT_MEAN_LOOK, 0, NORMAL, 100, 5, 0 - move ATTRACT, EFFECT_ATTRACT, 0, NORMAL, 100, 15, 0 - move SLEEP_TALK, EFFECT_SLEEP_TALK, 0, NORMAL, 100, 10, 0 - move HEAL_BELL, EFFECT_HEAL_BELL, 0, NORMAL, 100, 5, 0 - move RETURN, EFFECT_RETURN, 1, NORMAL, 100, 20, 0 - move PRESENT, EFFECT_PRESENT, 1, NORMAL, 90, 15, 0 - move FRUSTRATION, EFFECT_FRUSTRATION, 1, NORMAL, 100, 20, 0 - move SAFEGUARD, EFFECT_SAFEGUARD, 0, NORMAL, 100, 25, 0 - move PAIN_SPLIT, EFFECT_PAIN_SPLIT, 0, NORMAL, 100, 20, 0 - move SACRED_FIRE, EFFECT_SACRED_FIRE, 100, FIRE, 95, 5, 50 - move MAGNITUDE, EFFECT_MAGNITUDE, 1, GROUND, 100, 30, 0 - move DYNAMICPUNCH, EFFECT_CONFUSE_HIT, 100, FIGHTING, 50, 5, 100 - move MEGAHORN, EFFECT_NORMAL_HIT, 120, BUG, 85, 10, 0 - move DRAGONBREATH, EFFECT_PARALYZE_HIT, 60, DRAGON, 100, 20, 30 - move BATON_PASS, EFFECT_BATON_PASS, 0, NORMAL, 100, 40, 0 - move ENCORE, EFFECT_ENCORE, 0, NORMAL, 100, 5, 0 - move PURSUIT, EFFECT_PURSUIT, 40, DARK, 100, 20, 0 - move RAPID_SPIN, EFFECT_RAPID_SPIN, 20, NORMAL, 100, 40, 0 - move SWEET_SCENT, EFFECT_EVASION_DOWN, 0, NORMAL, 100, 20, 0 - move IRON_TAIL, EFFECT_DEFENSE_DOWN_HIT, 100, STEEL, 75, 15, 30 - move METAL_CLAW, EFFECT_ATTACK_UP_HIT, 50, STEEL, 95, 35, 10 - move VITAL_THROW, EFFECT_ALWAYS_HIT, 70, FIGHTING, 100, 10, 0 - move MORNING_SUN, EFFECT_MORNING_SUN, 0, NORMAL, 100, 5, 0 - move SYNTHESIS, EFFECT_SYNTHESIS, 0, GRASS, 100, 5, 0 - move MOONLIGHT, EFFECT_MOONLIGHT, 0, NORMAL, 100, 5, 0 - move HIDDEN_POWER, EFFECT_HIDDEN_POWER, 1, NORMAL, 100, 15, 0 - move CROSS_CHOP, EFFECT_NORMAL_HIT, 100, FIGHTING, 80, 5, 0 - move TWISTER, EFFECT_TWISTER, 40, DRAGON, 100, 20, 20 - move RAIN_DANCE, EFFECT_RAIN_DANCE, 0, WATER, 90, 5, 0 - move SUNNY_DAY, EFFECT_SUNNY_DAY, 0, FIRE, 90, 5, 0 - move CRUNCH, EFFECT_SP_DEF_DOWN_HIT, 80, DARK, 100, 15, 20 - move MIRROR_COAT, EFFECT_MIRROR_COAT, 1, PSYCHIC, 100, 20, 0 - move PSYCH_UP, EFFECT_PSYCH_UP, 0, NORMAL, 100, 10, 0 - move EXTREMESPEED, EFFECT_PRIORITY_HIT, 80, NORMAL, 100, 5, 0 - move ANCIENTPOWER, EFFECT_ALL_UP_HIT, 60, ROCK, 100, 5, 10 - move SHADOW_BALL, EFFECT_SP_DEF_DOWN_HIT, 80, GHOST, 100, 15, 20 - move FUTURE_SIGHT, EFFECT_FUTURE_SIGHT, 80, PSYCHIC, 90, 15, 0 - move ROCK_SMASH, EFFECT_DEFENSE_DOWN_HIT, 20, FIGHTING, 100, 15, 50 - move WHIRLPOOL, EFFECT_TRAP_TARGET, 15, WATER, 70, 15, 0 - move BEAT_UP, EFFECT_BEAT_UP, 10, DARK, 100, 10, 0 + move POUND, EFFECT_NORMAL_HIT, 40, NORMAL, 100, 35, 0 + move KARATE_CHOP, EFFECT_NORMAL_HIT, 50, FIGHTING, 100, 25, 0 + move DOUBLESLAP, EFFECT_MULTI_HIT, 15, NORMAL, 85, 10, 0 + move COMET_PUNCH, EFFECT_MULTI_HIT, 18, NORMAL, 85, 15, 0 + move MEGA_PUNCH, EFFECT_NORMAL_HIT, 80, NORMAL, 85, 20, 0 + move PAY_DAY, EFFECT_PAY_DAY, 40, NORMAL, 100, 20, 0 + move FIRE_PUNCH, EFFECT_BURN_HIT, 75, FIRE, 100, 15, 10 + move ICE_PUNCH, EFFECT_FREEZE_HIT, 75, ICE, 100, 15, 10 + move THUNDERPUNCH, EFFECT_PARALYZE_HIT, 75, ELECTRIC, 100, 15, 10 + move SCRATCH, EFFECT_NORMAL_HIT, 40, NORMAL, 100, 35, 0 + move VICEGRIP, EFFECT_NORMAL_HIT, 55, NORMAL, 100, 30, 0 + move GUILLOTINE, EFFECT_OHKO, 0, NORMAL, 30, 5, 0 + move RAZOR_WIND, EFFECT_RAZOR_WIND, 80, NORMAL, 75, 10, 0 + move SWORDS_DANCE, EFFECT_ATTACK_UP_2, 0, NORMAL, 100, 30, 0 + move CUT, EFFECT_NORMAL_HIT, 50, NORMAL, 95, 30, 0 + move GUST, EFFECT_GUST, 40, FLYING, 100, 35, 0 + move WING_ATTACK, EFFECT_NORMAL_HIT, 60, FLYING, 100, 35, 0 + move WHIRLWIND, EFFECT_FORCE_SWITCH, 0, NORMAL, 100, 20, 0 + move FLY, EFFECT_FLY, 70, FLYING, 95, 15, 0 + move BIND, EFFECT_TRAP_TARGET, 15, NORMAL, 75, 20, 0 + move SLAM, EFFECT_NORMAL_HIT, 80, NORMAL, 75, 20, 0 + move VINE_WHIP, EFFECT_NORMAL_HIT, 35, GRASS, 100, 10, 0 + move STOMP, EFFECT_STOMP, 65, NORMAL, 100, 20, 30 + move DOUBLE_KICK, EFFECT_DOUBLE_HIT, 30, FIGHTING, 100, 30, 0 + move MEGA_KICK, EFFECT_NORMAL_HIT, 120, NORMAL, 75, 5, 0 + move JUMP_KICK, EFFECT_JUMP_KICK, 70, FIGHTING, 95, 25, 0 + move ROLLING_KICK, EFFECT_FLINCH_HIT, 60, FIGHTING, 85, 15, 30 + move SAND_ATTACK, EFFECT_ACCURACY_DOWN, 0, GROUND, 100, 15, 0 + move HEADBUTT, EFFECT_FLINCH_HIT, 70, NORMAL, 100, 15, 30 + move HORN_ATTACK, EFFECT_NORMAL_HIT, 65, NORMAL, 100, 25, 0 + move FURY_ATTACK, EFFECT_MULTI_HIT, 15, NORMAL, 85, 20, 0 + move HORN_DRILL, EFFECT_OHKO, 1, NORMAL, 30, 5, 0 + move TACKLE, EFFECT_NORMAL_HIT, 35, NORMAL, 95, 35, 0 + move BODY_SLAM, EFFECT_PARALYZE_HIT, 85, NORMAL, 100, 15, 30 + move WRAP, EFFECT_TRAP_TARGET, 15, NORMAL, 85, 20, 0 + move TAKE_DOWN, EFFECT_RECOIL_HIT, 90, NORMAL, 85, 20, 0 + move THRASH, EFFECT_RAMPAGE, 90, NORMAL, 100, 20, 0 + move DOUBLE_EDGE, EFFECT_RECOIL_HIT, 120, NORMAL, 100, 15, 0 + move TAIL_WHIP, EFFECT_DEFENSE_DOWN, 0, NORMAL, 100, 30, 0 + move POISON_STING, EFFECT_POISON_HIT, 15, POISON, 100, 35, 30 + move TWINEEDLE, EFFECT_POISON_MULTI_HIT, 25, BUG, 100, 20, 20 + move PIN_MISSILE, EFFECT_MULTI_HIT, 14, BUG, 85, 20, 0 + move LEER, EFFECT_DEFENSE_DOWN, 0, NORMAL, 100, 30, 0 + move BITE, EFFECT_FLINCH_HIT, 60, DARK, 100, 25, 30 + move GROWL, EFFECT_ATTACK_DOWN, 0, NORMAL, 100, 40, 0 + move ROAR, EFFECT_FORCE_SWITCH, 0, NORMAL, 100, 20, 0 + move SING, EFFECT_SLEEP, 0, NORMAL, 55, 15, 0 + move SUPERSONIC, EFFECT_CONFUSE, 0, NORMAL, 55, 20, 0 + move SONICBOOM, EFFECT_STATIC_DAMAGE, 20, NORMAL, 90, 20, 0 + move DISABLE, EFFECT_DISABLE, 0, NORMAL, 55, 20, 0 + move ACID, EFFECT_DEFENSE_DOWN_HIT, 40, POISON, 100, 30, 10 + move EMBER, EFFECT_BURN_HIT, 40, FIRE, 100, 25, 10 + move FLAMETHROWER, EFFECT_BURN_HIT, 95, FIRE, 100, 15, 10 + move MIST, EFFECT_MIST, 0, ICE, 100, 30, 0 + move WATER_GUN, EFFECT_NORMAL_HIT, 40, WATER, 100, 25, 0 + move HYDRO_PUMP, EFFECT_NORMAL_HIT, 120, WATER, 80, 5, 0 + move SURF, EFFECT_NORMAL_HIT, 95, WATER, 100, 15, 0 + move ICE_BEAM, EFFECT_FREEZE_HIT, 95, ICE, 100, 10, 10 + move BLIZZARD, EFFECT_FREEZE_HIT, 120, ICE, 70, 5, 10 + move PSYBEAM, EFFECT_CONFUSE_HIT, 65, PSYCHIC_TYPE, 100, 20, 10 + move BUBBLEBEAM, EFFECT_SPEED_DOWN_HIT, 65, WATER, 100, 20, 10 + move AURORA_BEAM, EFFECT_ATTACK_DOWN_HIT, 65, ICE, 100, 20, 10 + move HYPER_BEAM, EFFECT_HYPER_BEAM, 150, NORMAL, 90, 5, 0 + move PECK, EFFECT_NORMAL_HIT, 35, FLYING, 100, 35, 0 + move DRILL_PECK, EFFECT_NORMAL_HIT, 80, FLYING, 100, 20, 0 + move SUBMISSION, EFFECT_RECOIL_HIT, 80, FIGHTING, 80, 25, 0 + move LOW_KICK, EFFECT_FLINCH_HIT, 50, FIGHTING, 90, 20, 30 + move COUNTER, EFFECT_COUNTER, 1, FIGHTING, 100, 20, 0 + move SEISMIC_TOSS, EFFECT_LEVEL_DAMAGE, 1, FIGHTING, 100, 20, 0 + move STRENGTH, EFFECT_NORMAL_HIT, 80, NORMAL, 100, 15, 0 + move ABSORB, EFFECT_LEECH_HIT, 20, GRASS, 100, 20, 0 + move MEGA_DRAIN, EFFECT_LEECH_HIT, 40, GRASS, 100, 10, 0 + move LEECH_SEED, EFFECT_LEECH_SEED, 0, GRASS, 90, 10, 0 + move GROWTH, EFFECT_SP_ATK_UP, 0, NORMAL, 100, 40, 0 + move RAZOR_LEAF, EFFECT_NORMAL_HIT, 55, GRASS, 95, 25, 0 + move SOLARBEAM, EFFECT_SOLARBEAM, 120, GRASS, 100, 10, 0 + move POISONPOWDER, EFFECT_POISON, 0, POISON, 75, 35, 0 + move STUN_SPORE, EFFECT_PARALYZE, 0, GRASS, 75, 30, 0 + move SLEEP_POWDER, EFFECT_SLEEP, 0, GRASS, 75, 15, 0 + move PETAL_DANCE, EFFECT_RAMPAGE, 70, GRASS, 100, 20, 0 + move STRING_SHOT, EFFECT_SPEED_DOWN, 0, BUG, 95, 40, 0 + move DRAGON_RAGE, EFFECT_STATIC_DAMAGE, 40, DRAGON, 100, 10, 0 + move FIRE_SPIN, EFFECT_TRAP_TARGET, 15, FIRE, 70, 15, 0 + move THUNDERSHOCK, EFFECT_PARALYZE_HIT, 40, ELECTRIC, 100, 30, 10 + move THUNDERBOLT, EFFECT_PARALYZE_HIT, 95, ELECTRIC, 100, 15, 10 + move THUNDER_WAVE, EFFECT_PARALYZE, 0, ELECTRIC, 100, 20, 0 + move THUNDER, EFFECT_THUNDER, 120, ELECTRIC, 70, 10, 30 + move ROCK_THROW, EFFECT_NORMAL_HIT, 50, ROCK, 90, 15, 0 + move EARTHQUAKE, EFFECT_EARTHQUAKE, 100, GROUND, 100, 10, 0 + move FISSURE, EFFECT_OHKO, 1, GROUND, 30, 5, 0 + move DIG, EFFECT_FLY, 60, GROUND, 100, 10, 0 + move TOXIC, EFFECT_TOXIC, 0, POISON, 85, 10, 0 + move CONFUSION, EFFECT_CONFUSE_HIT, 50, PSYCHIC_TYPE, 100, 25, 10 + move PSYCHIC_M, EFFECT_SP_DEF_DOWN_HIT, 90, PSYCHIC_TYPE, 100, 10, 10 + move HYPNOSIS, EFFECT_SLEEP, 0, PSYCHIC_TYPE, 60, 20, 0 + move MEDITATE, EFFECT_ATTACK_UP, 0, PSYCHIC_TYPE, 100, 40, 0 + move AGILITY, EFFECT_SPEED_UP_2, 0, PSYCHIC_TYPE, 100, 30, 0 + move QUICK_ATTACK, EFFECT_PRIORITY_HIT, 40, NORMAL, 100, 30, 0 + move RAGE, EFFECT_RAGE, 20, NORMAL, 100, 20, 0 + move TELEPORT, EFFECT_TELEPORT, 0, PSYCHIC_TYPE, 100, 20, 0 + move NIGHT_SHADE, EFFECT_LEVEL_DAMAGE, 1, GHOST, 100, 15, 0 + move MIMIC, EFFECT_MIMIC, 0, NORMAL, 100, 10, 0 + move SCREECH, EFFECT_DEFENSE_DOWN_2, 0, NORMAL, 85, 40, 0 + move DOUBLE_TEAM, EFFECT_EVASION_UP, 0, NORMAL, 100, 15, 0 + move RECOVER, EFFECT_HEAL, 0, NORMAL, 100, 20, 0 + move HARDEN, EFFECT_DEFENSE_UP, 0, NORMAL, 100, 30, 0 + move MINIMIZE, EFFECT_EVASION_UP, 0, NORMAL, 100, 20, 0 + move SMOKESCREEN, EFFECT_ACCURACY_DOWN, 0, NORMAL, 100, 20, 0 + move CONFUSE_RAY, EFFECT_CONFUSE, 0, GHOST, 100, 10, 0 + move WITHDRAW, EFFECT_DEFENSE_UP, 0, WATER, 100, 40, 0 + move DEFENSE_CURL, EFFECT_DEFENSE_CURL, 0, NORMAL, 100, 40, 0 + move BARRIER, EFFECT_DEFENSE_UP_2, 0, PSYCHIC_TYPE, 100, 30, 0 + move LIGHT_SCREEN, EFFECT_LIGHT_SCREEN, 0, PSYCHIC_TYPE, 100, 30, 0 + move HAZE, EFFECT_RESET_STATS, 0, ICE, 100, 30, 0 + move REFLECT, EFFECT_REFLECT, 0, PSYCHIC_TYPE, 100, 20, 0 + move FOCUS_ENERGY, EFFECT_FOCUS_ENERGY, 0, NORMAL, 100, 30, 0 + move BIDE, EFFECT_BIDE, 0, NORMAL, 100, 10, 0 + move METRONOME, EFFECT_METRONOME, 0, NORMAL, 100, 10, 0 + move MIRROR_MOVE, EFFECT_MIRROR_MOVE, 0, FLYING, 100, 20, 0 + move SELFDESTRUCT, EFFECT_SELFDESTRUCT, 200, NORMAL, 100, 5, 0 + move EGG_BOMB, EFFECT_NORMAL_HIT, 100, NORMAL, 75, 10, 0 + move LICK, EFFECT_PARALYZE_HIT, 20, GHOST, 100, 30, 30 + move SMOG, EFFECT_POISON_HIT, 20, POISON, 70, 20, 40 + move SLUDGE, EFFECT_POISON_HIT, 65, POISON, 100, 20, 30 + move BONE_CLUB, EFFECT_FLINCH_HIT, 65, GROUND, 85, 20, 10 + move FIRE_BLAST, EFFECT_BURN_HIT, 120, FIRE, 85, 5, 10 + move WATERFALL, EFFECT_NORMAL_HIT, 80, WATER, 100, 15, 0 + move CLAMP, EFFECT_TRAP_TARGET, 35, WATER, 75, 10, 0 + move SWIFT, EFFECT_ALWAYS_HIT, 60, NORMAL, 100, 20, 0 + move SKULL_BASH, EFFECT_SKULL_BASH, 100, NORMAL, 100, 15, 0 + move SPIKE_CANNON, EFFECT_MULTI_HIT, 20, NORMAL, 100, 15, 0 + move CONSTRICT, EFFECT_SPEED_DOWN_HIT, 10, NORMAL, 100, 35, 10 + move AMNESIA, EFFECT_SP_DEF_UP_2, 0, PSYCHIC_TYPE, 100, 20, 0 + move KINESIS, EFFECT_ACCURACY_DOWN, 0, PSYCHIC_TYPE, 80, 15, 0 + move SOFTBOILED, EFFECT_HEAL, 0, NORMAL, 100, 10, 0 + move HI_JUMP_KICK, EFFECT_JUMP_KICK, 85, FIGHTING, 90, 20, 0 + move GLARE, EFFECT_PARALYZE, 0, NORMAL, 75, 30, 0 + move DREAM_EATER, EFFECT_DREAM_EATER, 100, PSYCHIC_TYPE, 100, 15, 0 + move POISON_GAS, EFFECT_POISON, 0, POISON, 55, 40, 0 + move BARRAGE, EFFECT_MULTI_HIT, 15, NORMAL, 85, 20, 0 + move LEECH_LIFE, EFFECT_LEECH_HIT, 20, BUG, 100, 15, 0 + move LOVELY_KISS, EFFECT_SLEEP, 0, NORMAL, 75, 10, 0 + move SKY_ATTACK, EFFECT_SKY_ATTACK, 140, FLYING, 90, 5, 0 + move TRANSFORM, EFFECT_TRANSFORM, 0, NORMAL, 100, 10, 0 + move BUBBLE, EFFECT_SPEED_DOWN_HIT, 20, WATER, 100, 30, 10 + move DIZZY_PUNCH, EFFECT_CONFUSE_HIT, 70, NORMAL, 100, 10, 20 + move SPORE, EFFECT_SLEEP, 0, GRASS, 100, 15, 0 + move FLASH, EFFECT_ACCURACY_DOWN, 0, NORMAL, 70, 20, 0 + move PSYWAVE, EFFECT_PSYWAVE, 1, PSYCHIC_TYPE, 80, 15, 0 + move SPLASH, EFFECT_SPLASH, 0, NORMAL, 100, 40, 0 + move ACID_ARMOR, EFFECT_DEFENSE_UP_2, 0, POISON, 100, 40, 0 + move CRABHAMMER, EFFECT_NORMAL_HIT, 90, WATER, 85, 10, 0 + move EXPLOSION, EFFECT_SELFDESTRUCT, 250, NORMAL, 100, 5, 0 + move FURY_SWIPES, EFFECT_MULTI_HIT, 18, NORMAL, 80, 15, 0 + move BONEMERANG, EFFECT_DOUBLE_HIT, 50, GROUND, 90, 10, 0 + move REST, EFFECT_HEAL, 0, PSYCHIC_TYPE, 100, 10, 0 + move ROCK_SLIDE, EFFECT_FLINCH_HIT, 75, ROCK, 90, 10, 30 + move HYPER_FANG, EFFECT_FLINCH_HIT, 80, NORMAL, 90, 15, 10 + move SHARPEN, EFFECT_ATTACK_UP, 0, NORMAL, 100, 30, 0 + move CONVERSION, EFFECT_CONVERSION, 0, NORMAL, 100, 30, 0 + move TRI_ATTACK, EFFECT_TRI_ATTACK, 80, NORMAL, 100, 10, 20 + move SUPER_FANG, EFFECT_SUPER_FANG, 1, NORMAL, 90, 10, 0 + move SLASH, EFFECT_NORMAL_HIT, 70, NORMAL, 100, 20, 0 + move SUBSTITUTE, EFFECT_SUBSTITUTE, 0, NORMAL, 100, 10, 0 + move STRUGGLE, EFFECT_RECOIL_HIT, 50, NORMAL, 100, 1, 0 + move SKETCH, EFFECT_SKETCH, 0, NORMAL, 100, 1, 0 + move TRIPLE_KICK, EFFECT_TRIPLE_KICK, 10, FIGHTING, 90, 10, 0 + move THIEF, EFFECT_THIEF, 40, DARK, 100, 10, 100 + move SPIDER_WEB, EFFECT_MEAN_LOOK, 0, BUG, 100, 10, 0 + move MIND_READER, EFFECT_LOCK_ON, 0, NORMAL, 100, 5, 0 + move NIGHTMARE, EFFECT_NIGHTMARE, 0, GHOST, 100, 15, 0 + move FLAME_WHEEL, EFFECT_FLAME_WHEEL, 60, FIRE, 100, 25, 10 + move SNORE, EFFECT_SNORE, 40, NORMAL, 100, 15, 30 + move CURSE, EFFECT_CURSE, 0, CURSE_TYPE, 100, 10, 0 + move FLAIL, EFFECT_REVERSAL, 1, NORMAL, 100, 15, 0 + move CONVERSION2, EFFECT_CONVERSION2, 0, NORMAL, 100, 30, 0 + move AEROBLAST, EFFECT_NORMAL_HIT, 100, FLYING, 95, 5, 0 + move COTTON_SPORE, EFFECT_SPEED_DOWN_2, 0, GRASS, 85, 40, 0 + move REVERSAL, EFFECT_REVERSAL, 1, FIGHTING, 100, 15, 0 + move SPITE, EFFECT_SPITE, 0, GHOST, 100, 10, 0 + move POWDER_SNOW, EFFECT_FREEZE_HIT, 40, ICE, 100, 25, 10 + move PROTECT, EFFECT_PROTECT, 0, NORMAL, 100, 10, 0 + move MACH_PUNCH, EFFECT_PRIORITY_HIT, 40, FIGHTING, 100, 30, 0 + move SCARY_FACE, EFFECT_SPEED_DOWN_2, 0, NORMAL, 90, 10, 0 + move FAINT_ATTACK, EFFECT_ALWAYS_HIT, 60, DARK, 100, 20, 0 + move SWEET_KISS, EFFECT_CONFUSE, 0, NORMAL, 75, 10, 0 + move BELLY_DRUM, EFFECT_BELLY_DRUM, 0, NORMAL, 100, 10, 0 + move SLUDGE_BOMB, EFFECT_POISON_HIT, 90, POISON, 100, 10, 30 + move MUD_SLAP, EFFECT_ACCURACY_DOWN_HIT, 20, GROUND, 100, 10, 100 + move OCTAZOOKA, EFFECT_ACCURACY_DOWN_HIT, 65, WATER, 85, 10, 50 + move SPIKES, EFFECT_SPIKES, 0, GROUND, 100, 20, 0 + move ZAP_CANNON, EFFECT_PARALYZE_HIT, 100, ELECTRIC, 50, 5, 100 + move FORESIGHT, EFFECT_FORESIGHT, 0, NORMAL, 100, 40, 0 + move DESTINY_BOND, EFFECT_DESTINY_BOND, 0, GHOST, 100, 5, 0 + move PERISH_SONG, EFFECT_PERISH_SONG, 0, NORMAL, 100, 5, 0 + move ICY_WIND, EFFECT_SPEED_DOWN_HIT, 55, ICE, 95, 15, 100 + move DETECT, EFFECT_PROTECT, 0, FIGHTING, 100, 5, 0 + move BONE_RUSH, EFFECT_MULTI_HIT, 25, GROUND, 80, 10, 0 + move LOCK_ON, EFFECT_LOCK_ON, 0, NORMAL, 100, 5, 0 + move OUTRAGE, EFFECT_RAMPAGE, 90, DRAGON, 100, 15, 0 + move SANDSTORM, EFFECT_SANDSTORM, 0, ROCK, 100, 10, 0 + move GIGA_DRAIN, EFFECT_LEECH_HIT, 60, GRASS, 100, 5, 0 + move ENDURE, EFFECT_ENDURE, 0, NORMAL, 100, 10, 0 + move CHARM, EFFECT_ATTACK_DOWN_2, 0, NORMAL, 100, 20, 0 + move ROLLOUT, EFFECT_ROLLOUT, 30, ROCK, 90, 20, 0 + move FALSE_SWIPE, EFFECT_FALSE_SWIPE, 40, NORMAL, 100, 40, 0 + move SWAGGER, EFFECT_SWAGGER, 0, NORMAL, 90, 15, 100 + move MILK_DRINK, EFFECT_HEAL, 0, NORMAL, 100, 10, 0 + move SPARK, EFFECT_PARALYZE_HIT, 65, ELECTRIC, 100, 20, 30 + move FURY_CUTTER, EFFECT_FURY_CUTTER, 10, BUG, 95, 20, 0 + move STEEL_WING, EFFECT_DEFENSE_UP_HIT, 70, STEEL, 90, 25, 10 + move MEAN_LOOK, EFFECT_MEAN_LOOK, 0, NORMAL, 100, 5, 0 + move ATTRACT, EFFECT_ATTRACT, 0, NORMAL, 100, 15, 0 + move SLEEP_TALK, EFFECT_SLEEP_TALK, 0, NORMAL, 100, 10, 0 + move HEAL_BELL, EFFECT_HEAL_BELL, 0, NORMAL, 100, 5, 0 + move RETURN, EFFECT_RETURN, 1, NORMAL, 100, 20, 0 + move PRESENT, EFFECT_PRESENT, 1, NORMAL, 90, 15, 0 + move FRUSTRATION, EFFECT_FRUSTRATION, 1, NORMAL, 100, 20, 0 + move SAFEGUARD, EFFECT_SAFEGUARD, 0, NORMAL, 100, 25, 0 + move PAIN_SPLIT, EFFECT_PAIN_SPLIT, 0, NORMAL, 100, 20, 0 + move SACRED_FIRE, EFFECT_SACRED_FIRE, 100, FIRE, 95, 5, 50 + move MAGNITUDE, EFFECT_MAGNITUDE, 1, GROUND, 100, 30, 0 + move DYNAMICPUNCH, EFFECT_CONFUSE_HIT, 100, FIGHTING, 50, 5, 100 + move MEGAHORN, EFFECT_NORMAL_HIT, 120, BUG, 85, 10, 0 + move DRAGONBREATH, EFFECT_PARALYZE_HIT, 60, DRAGON, 100, 20, 30 + move BATON_PASS, EFFECT_BATON_PASS, 0, NORMAL, 100, 40, 0 + move ENCORE, EFFECT_ENCORE, 0, NORMAL, 100, 5, 0 + move PURSUIT, EFFECT_PURSUIT, 40, DARK, 100, 20, 0 + move RAPID_SPIN, EFFECT_RAPID_SPIN, 20, NORMAL, 100, 40, 0 + move SWEET_SCENT, EFFECT_EVASION_DOWN, 0, NORMAL, 100, 20, 0 + move IRON_TAIL, EFFECT_DEFENSE_DOWN_HIT, 100, STEEL, 75, 15, 30 + move METAL_CLAW, EFFECT_ATTACK_UP_HIT, 50, STEEL, 95, 35, 10 + move VITAL_THROW, EFFECT_ALWAYS_HIT, 70, FIGHTING, 100, 10, 0 + move MORNING_SUN, EFFECT_MORNING_SUN, 0, NORMAL, 100, 5, 0 + move SYNTHESIS, EFFECT_SYNTHESIS, 0, GRASS, 100, 5, 0 + move MOONLIGHT, EFFECT_MOONLIGHT, 0, NORMAL, 100, 5, 0 + move HIDDEN_POWER, EFFECT_HIDDEN_POWER, 1, NORMAL, 100, 15, 0 + move CROSS_CHOP, EFFECT_NORMAL_HIT, 100, FIGHTING, 80, 5, 0 + move TWISTER, EFFECT_TWISTER, 40, DRAGON, 100, 20, 20 + move RAIN_DANCE, EFFECT_RAIN_DANCE, 0, WATER, 90, 5, 0 + move SUNNY_DAY, EFFECT_SUNNY_DAY, 0, FIRE, 90, 5, 0 + move CRUNCH, EFFECT_SP_DEF_DOWN_HIT, 80, DARK, 100, 15, 20 + move MIRROR_COAT, EFFECT_MIRROR_COAT, 1, PSYCHIC_TYPE, 100, 20, 0 + move PSYCH_UP, EFFECT_PSYCH_UP, 0, NORMAL, 100, 10, 0 + move EXTREMESPEED, EFFECT_PRIORITY_HIT, 80, NORMAL, 100, 5, 0 + move ANCIENTPOWER, EFFECT_ALL_UP_HIT, 60, ROCK, 100, 5, 10 + move SHADOW_BALL, EFFECT_SP_DEF_DOWN_HIT, 80, GHOST, 100, 15, 20 + move FUTURE_SIGHT, EFFECT_FUTURE_SIGHT, 80, PSYCHIC_TYPE, 90, 15, 0 + move ROCK_SMASH, EFFECT_DEFENSE_DOWN_HIT, 20, FIGHTING, 100, 15, 50 + move WHIRLPOOL, EFFECT_TRAP_TARGET, 15, WATER, 70, 15, 0 + move BEAT_UP, EFFECT_BEAT_UP, 10, DARK, 100, 10, 0 diff --git a/data/pokemon/base_stats/abra.asm b/data/pokemon/base_stats/abra.asm index 473a8445a..e8793521c 100644 --- a/data/pokemon/base_stats/abra.asm +++ b/data/pokemon/base_stats/abra.asm @@ -3,7 +3,7 @@ db 25, 20, 15, 90, 105, 55 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 200 ; catch rate db 73 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/alakazam.asm b/data/pokemon/base_stats/alakazam.asm index 06d1a6855..adea0e8dd 100644 --- a/data/pokemon/base_stats/alakazam.asm +++ b/data/pokemon/base_stats/alakazam.asm @@ -3,7 +3,7 @@ db 55, 50, 45, 120, 135, 85 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 50 ; catch rate db 186 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/celebi.asm b/data/pokemon/base_stats/celebi.asm index 537d6a4a7..5f8017c68 100644 --- a/data/pokemon/base_stats/celebi.asm +++ b/data/pokemon/base_stats/celebi.asm @@ -3,7 +3,7 @@ db 100, 100, 100, 100, 100, 100 ; hp atk def spd sat sdf - db PSYCHIC, GRASS ; type + db PSYCHIC_TYPE, GRASS ; type db 45 ; catch rate db 64 ; base exp db NO_ITEM, MIRACLEBERRY ; items diff --git a/data/pokemon/base_stats/drowzee.asm b/data/pokemon/base_stats/drowzee.asm index d3bf6172b..9f3cba809 100644 --- a/data/pokemon/base_stats/drowzee.asm +++ b/data/pokemon/base_stats/drowzee.asm @@ -3,7 +3,7 @@ db 60, 48, 45, 42, 43, 90 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 190 ; catch rate db 102 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/espeon.asm b/data/pokemon/base_stats/espeon.asm index 8cafacf98..325200e05 100644 --- a/data/pokemon/base_stats/espeon.asm +++ b/data/pokemon/base_stats/espeon.asm @@ -3,7 +3,7 @@ db 65, 65, 60, 110, 130, 95 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 45 ; catch rate db 197 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/exeggcute.asm b/data/pokemon/base_stats/exeggcute.asm index f5ad6957e..bfd5fffd5 100644 --- a/data/pokemon/base_stats/exeggcute.asm +++ b/data/pokemon/base_stats/exeggcute.asm @@ -3,7 +3,7 @@ db 60, 40, 80, 40, 60, 45 ; hp atk def spd sat sdf - db GRASS, PSYCHIC ; type + db GRASS, PSYCHIC_TYPE ; type db 90 ; catch rate db 98 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/exeggutor.asm b/data/pokemon/base_stats/exeggutor.asm index d6287cb80..ba5ea3af7 100644 --- a/data/pokemon/base_stats/exeggutor.asm +++ b/data/pokemon/base_stats/exeggutor.asm @@ -3,7 +3,7 @@ db 95, 95, 85, 55, 125, 65 ; hp atk def spd sat sdf - db GRASS, PSYCHIC ; type + db GRASS, PSYCHIC_TYPE ; type db 45 ; catch rate db 212 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/girafarig.asm b/data/pokemon/base_stats/girafarig.asm index f1e56693a..b52c34c0a 100644 --- a/data/pokemon/base_stats/girafarig.asm +++ b/data/pokemon/base_stats/girafarig.asm @@ -3,7 +3,7 @@ db 70, 80, 65, 85, 90, 65 ; hp atk def spd sat sdf - db NORMAL, PSYCHIC ; type + db NORMAL, PSYCHIC_TYPE ; type db 60 ; catch rate db 149 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/hypno.asm b/data/pokemon/base_stats/hypno.asm index 67213c839..915fb636b 100644 --- a/data/pokemon/base_stats/hypno.asm +++ b/data/pokemon/base_stats/hypno.asm @@ -3,7 +3,7 @@ db 85, 73, 70, 67, 73, 115 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 75 ; catch rate db 165 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/jynx.asm b/data/pokemon/base_stats/jynx.asm index dc2d0332a..843af1b46 100644 --- a/data/pokemon/base_stats/jynx.asm +++ b/data/pokemon/base_stats/jynx.asm @@ -3,7 +3,7 @@ db 65, 50, 35, 95, 115, 95 ; hp atk def spd sat sdf - db ICE, PSYCHIC ; type + db ICE, PSYCHIC_TYPE ; type db 45 ; catch rate db 137 ; base exp db ICE_BERRY, ICE_BERRY ; items diff --git a/data/pokemon/base_stats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm index faef29713..59b2a6e4d 100644 --- a/data/pokemon/base_stats/kadabra.asm +++ b/data/pokemon/base_stats/kadabra.asm @@ -3,7 +3,7 @@ db 40, 35, 30, 105, 120, 70 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 100 ; catch rate db 145 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/lugia.asm b/data/pokemon/base_stats/lugia.asm index 5da2f85c3..7b46b1c44 100644 --- a/data/pokemon/base_stats/lugia.asm +++ b/data/pokemon/base_stats/lugia.asm @@ -3,7 +3,7 @@ db 106, 90, 130, 110, 90, 154 ; hp atk def spd sat sdf - db PSYCHIC, FLYING ; type + db PSYCHIC_TYPE, FLYING ; type db 3 ; catch rate db 220 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/mew.asm b/data/pokemon/base_stats/mew.asm index 3655860fa..fdbdb8f56 100644 --- a/data/pokemon/base_stats/mew.asm +++ b/data/pokemon/base_stats/mew.asm @@ -3,7 +3,7 @@ db 100, 100, 100, 100, 100, 100 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 45 ; catch rate db 64 ; base exp db NO_ITEM, MIRACLEBERRY ; items diff --git a/data/pokemon/base_stats/mewtwo.asm b/data/pokemon/base_stats/mewtwo.asm index e71c41982..7495c8685 100644 --- a/data/pokemon/base_stats/mewtwo.asm +++ b/data/pokemon/base_stats/mewtwo.asm @@ -3,7 +3,7 @@ db 106, 110, 90, 130, 154, 90 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 3 ; catch rate db 220 ; base exp db NO_ITEM, BERSERK_GENE ; items diff --git a/data/pokemon/base_stats/mr__mime.asm b/data/pokemon/base_stats/mr__mime.asm index 6f2f6e3df..9d8e9266e 100644 --- a/data/pokemon/base_stats/mr__mime.asm +++ b/data/pokemon/base_stats/mr__mime.asm @@ -3,7 +3,7 @@ db 40, 45, 65, 90, 100, 120 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 45 ; catch rate db 136 ; base exp db NO_ITEM, MYSTERYBERRY ; items diff --git a/data/pokemon/base_stats/natu.asm b/data/pokemon/base_stats/natu.asm index 88d756af1..97e45eb06 100644 --- a/data/pokemon/base_stats/natu.asm +++ b/data/pokemon/base_stats/natu.asm @@ -3,7 +3,7 @@ db 40, 50, 45, 70, 70, 45 ; hp atk def spd sat sdf - db PSYCHIC, FLYING ; type + db PSYCHIC_TYPE, FLYING ; type db 190 ; catch rate db 73 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/slowbro.asm b/data/pokemon/base_stats/slowbro.asm index ac4f8d4b4..7878b416d 100644 --- a/data/pokemon/base_stats/slowbro.asm +++ b/data/pokemon/base_stats/slowbro.asm @@ -3,7 +3,7 @@ db 95, 75, 110, 30, 100, 80 ; hp atk def spd sat sdf - db WATER, PSYCHIC ; type + db WATER, PSYCHIC_TYPE ; type db 75 ; catch rate db 164 ; base exp db NO_ITEM, KINGS_ROCK ; items diff --git a/data/pokemon/base_stats/slowking.asm b/data/pokemon/base_stats/slowking.asm index b2963dbe6..97105b310 100644 --- a/data/pokemon/base_stats/slowking.asm +++ b/data/pokemon/base_stats/slowking.asm @@ -3,7 +3,7 @@ db 95, 75, 80, 30, 100, 110 ; hp atk def spd sat sdf - db WATER, PSYCHIC ; type + db WATER, PSYCHIC_TYPE ; type db 70 ; catch rate db 164 ; base exp db NO_ITEM, KINGS_ROCK ; items diff --git a/data/pokemon/base_stats/slowpoke.asm b/data/pokemon/base_stats/slowpoke.asm index 9d4eeae74..3960b617c 100644 --- a/data/pokemon/base_stats/slowpoke.asm +++ b/data/pokemon/base_stats/slowpoke.asm @@ -3,7 +3,7 @@ db 90, 65, 65, 15, 40, 40 ; hp atk def spd sat sdf - db WATER, PSYCHIC ; type + db WATER, PSYCHIC_TYPE ; type db 190 ; catch rate db 99 ; base exp db NO_ITEM, KINGS_ROCK ; items diff --git a/data/pokemon/base_stats/smoochum.asm b/data/pokemon/base_stats/smoochum.asm index d4f0b3c79..93c8bc2de 100644 --- a/data/pokemon/base_stats/smoochum.asm +++ b/data/pokemon/base_stats/smoochum.asm @@ -3,7 +3,7 @@ db 45, 30, 15, 65, 85, 65 ; hp atk def spd sat sdf - db ICE, PSYCHIC ; type + db ICE, PSYCHIC_TYPE ; type db 45 ; catch rate db 87 ; base exp db ICE_BERRY, ICE_BERRY ; items diff --git a/data/pokemon/base_stats/starmie.asm b/data/pokemon/base_stats/starmie.asm index b52e7379b..84a3f01ca 100644 --- a/data/pokemon/base_stats/starmie.asm +++ b/data/pokemon/base_stats/starmie.asm @@ -3,7 +3,7 @@ db 60, 75, 85, 115, 100, 85 ; hp atk def spd sat sdf - db WATER, PSYCHIC ; type + db WATER, PSYCHIC_TYPE ; type db 60 ; catch rate db 207 ; base exp db STARDUST, STAR_PIECE ; items diff --git a/data/pokemon/base_stats/unown.asm b/data/pokemon/base_stats/unown.asm index 2419f8025..e739c9fb0 100644 --- a/data/pokemon/base_stats/unown.asm +++ b/data/pokemon/base_stats/unown.asm @@ -3,7 +3,7 @@ db 48, 72, 48, 48, 72, 48 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 225 ; catch rate db 61 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/wobbuffet.asm b/data/pokemon/base_stats/wobbuffet.asm index 2a5c95f24..0a8e09c69 100644 --- a/data/pokemon/base_stats/wobbuffet.asm +++ b/data/pokemon/base_stats/wobbuffet.asm @@ -3,7 +3,7 @@ db 190, 33, 58, 33, 33, 58 ; hp atk def spd sat sdf - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 45 ; catch rate db 177 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/pokemon/base_stats/xatu.asm b/data/pokemon/base_stats/xatu.asm index 3fc1ec54b..f0bf34132 100644 --- a/data/pokemon/base_stats/xatu.asm +++ b/data/pokemon/base_stats/xatu.asm @@ -3,7 +3,7 @@ db 65, 75, 70, 95, 95, 70 ; hp atk def spd sat sdf - db PSYCHIC, FLYING ; type + db PSYCHIC_TYPE, FLYING ; type db 75 ; catch rate db 171 ; base exp db NO_ITEM, NO_ITEM ; items diff --git a/data/types/badge_type_boosts.asm b/data/types/badge_type_boosts.asm index b212ef22e..fb353df7b 100644 --- a/data/types/badge_type_boosts.asm +++ b/data/types/badge_type_boosts.asm @@ -1,21 +1,21 @@ BadgeTypeBoosts: ; entries correspond to wJohtoBadges constants - db FLYING ; ZEPHYRBADGE - db BUG ; HIVEBADGE - db NORMAL ; PLAINBADGE - db GHOST ; FOGBADGE - db STEEL ; MINERALBADGE - db FIGHTING ; STORMBADGE - db ICE ; GLACIERBADGE - db DRAGON ; RISINGBADGE + db FLYING ; ZEPHYRBADGE + db BUG ; HIVEBADGE + db NORMAL ; PLAINBADGE + db GHOST ; FOGBADGE + db STEEL ; MINERALBADGE + db FIGHTING ; STORMBADGE + db ICE ; GLACIERBADGE + db DRAGON ; RISINGBADGE ; fallthrough ; entries correspond to wKantoBadges constants - db ROCK ; BOULDERBADGE - db WATER ; CASCADEBADGE - db ELECTRIC ; THUNDERBADGE - db GRASS ; RAINBOWBADGE - db POISON ; SOULBADGE - db PSYCHIC ; MARSHBADGE - db FIRE ; VOLCANOBADGE - db GROUND ; EARTHBADGE + db ROCK ; BOULDERBADGE + db WATER ; CASCADEBADGE + db ELECTRIC ; THUNDERBADGE + db GRASS ; RAINBOWBADGE + db POISON ; SOULBADGE + db PSYCHIC_TYPE ; MARSHBADGE + db FIRE ; VOLCANOBADGE + db GROUND ; EARTHBADGE db -1 ; end diff --git a/data/types/search_types.asm b/data/types/search_types.asm index a87ec0993..c3aba3c91 100644 --- a/data/types/search_types.asm +++ b/data/types/search_types.asm @@ -10,7 +10,7 @@ PokedexTypeSearchConversionTable: db POISON db GROUND db FLYING - db PSYCHIC + db PSYCHIC_TYPE db BUG db ROCK db GHOST diff --git a/data/types/type_boost_items.asm b/data/types/type_boost_items.asm index 5b965c4fb..85a58db1f 100644 --- a/data/types/type_boost_items.asm +++ b/data/types/type_boost_items.asm @@ -1,19 +1,19 @@ TypeBoostItems: - db HELD_NORMAL_BOOST, NORMAL ; PINK_BOW/POLKADOT_BOW - db HELD_FIGHTING_BOOST, FIGHTING ; BLACKBELT - db HELD_FLYING_BOOST, FLYING ; SHARP_BEAK - db HELD_POISON_BOOST, POISON ; POISON BARB - db HELD_GROUND_BOOST, GROUND ; SOFT_SAND - db HELD_ROCK_BOOST, ROCK ; HARD_STONE - db HELD_BUG_BOOST, BUG ; SILVERPOWDER - db HELD_GHOST_BOOST, GHOST ; SPELL_TAG - db HELD_FIRE_BOOST, FIRE ; CHARCOAL - db HELD_WATER_BOOST, WATER ; MYSTIC WATER - db HELD_GRASS_BOOST, GRASS ; MIRACLE_SEED - db HELD_ELECTRIC_BOOST, ELECTRIC ; MAGNET - db HELD_PSYCHIC_BOOST, PSYCHIC ; TWISTEDSPOON - db HELD_ICE_BOOST, ICE ; NEVERMELTICE - db HELD_DRAGON_BOOST, DRAGON ; DRAGON_SCALE - db HELD_DARK_BOOST, DARK ; BLACKGLASSES - db HELD_STEEL_BOOST, STEEL ; METAL_COAT + db HELD_NORMAL_BOOST, NORMAL ; PINK_BOW/POLKADOT_BOW + db HELD_FIGHTING_BOOST, FIGHTING ; BLACKBELT_I + db HELD_FLYING_BOOST, FLYING ; SHARP_BEAK + db HELD_POISON_BOOST, POISON ; POISON BARB + db HELD_GROUND_BOOST, GROUND ; SOFT_SAND + db HELD_ROCK_BOOST, ROCK ; HARD_STONE + db HELD_BUG_BOOST, BUG ; SILVERPOWDER + db HELD_GHOST_BOOST, GHOST ; SPELL_TAG + db HELD_FIRE_BOOST, FIRE ; CHARCOAL + db HELD_WATER_BOOST, WATER ; MYSTIC WATER + db HELD_GRASS_BOOST, GRASS ; MIRACLE_SEED + db HELD_ELECTRIC_BOOST, ELECTRIC ; MAGNET + db HELD_PSYCHIC_BOOST, PSYCHIC_TYPE ; TWISTEDSPOON + db HELD_ICE_BOOST, ICE ; NEVERMELTICE + db HELD_DRAGON_BOOST, DRAGON ; DRAGON_SCALE + db HELD_DARK_BOOST, DARK ; BLACKGLASSES + db HELD_STEEL_BOOST, STEEL ; METAL_COAT db -1 diff --git a/data/types/type_matchups.asm b/data/types/type_matchups.asm index 04bfc3cd1..81906b0f9 100644 --- a/data/types/type_matchups.asm +++ b/data/types/type_matchups.asm @@ -1,118 +1,118 @@ TypeMatchups: - ; attacker, defender, *= - db NORMAL, ROCK, NOT_VERY_EFFECTIVE - db NORMAL, STEEL, NOT_VERY_EFFECTIVE - db FIRE, FIRE, NOT_VERY_EFFECTIVE - db FIRE, WATER, NOT_VERY_EFFECTIVE - db FIRE, GRASS, SUPER_EFFECTIVE - db FIRE, ICE, SUPER_EFFECTIVE - db FIRE, BUG, SUPER_EFFECTIVE - db FIRE, ROCK, NOT_VERY_EFFECTIVE - db FIRE, DRAGON, NOT_VERY_EFFECTIVE - db FIRE, STEEL, SUPER_EFFECTIVE - db WATER, FIRE, SUPER_EFFECTIVE - db WATER, WATER, NOT_VERY_EFFECTIVE - db WATER, GRASS, NOT_VERY_EFFECTIVE - db WATER, GROUND, SUPER_EFFECTIVE - db WATER, ROCK, SUPER_EFFECTIVE - db WATER, DRAGON, NOT_VERY_EFFECTIVE - db ELECTRIC, WATER, SUPER_EFFECTIVE - db ELECTRIC, ELECTRIC, NOT_VERY_EFFECTIVE - db ELECTRIC, GRASS, NOT_VERY_EFFECTIVE - db ELECTRIC, GROUND, NO_EFFECT - db ELECTRIC, FLYING, SUPER_EFFECTIVE - db ELECTRIC, DRAGON, NOT_VERY_EFFECTIVE - db GRASS, FIRE, NOT_VERY_EFFECTIVE - db GRASS, WATER, SUPER_EFFECTIVE - db GRASS, GRASS, NOT_VERY_EFFECTIVE - db GRASS, POISON, NOT_VERY_EFFECTIVE - db GRASS, GROUND, SUPER_EFFECTIVE - db GRASS, FLYING, NOT_VERY_EFFECTIVE - db GRASS, BUG, NOT_VERY_EFFECTIVE - db GRASS, ROCK, SUPER_EFFECTIVE - db GRASS, DRAGON, NOT_VERY_EFFECTIVE - db GRASS, STEEL, NOT_VERY_EFFECTIVE - db ICE, WATER, NOT_VERY_EFFECTIVE - db ICE, GRASS, SUPER_EFFECTIVE - db ICE, ICE, NOT_VERY_EFFECTIVE - db ICE, GROUND, SUPER_EFFECTIVE - db ICE, FLYING, SUPER_EFFECTIVE - db ICE, DRAGON, SUPER_EFFECTIVE - db ICE, STEEL, NOT_VERY_EFFECTIVE - db ICE, FIRE, NOT_VERY_EFFECTIVE - db FIGHTING, NORMAL, SUPER_EFFECTIVE - db FIGHTING, ICE, SUPER_EFFECTIVE - db FIGHTING, POISON, NOT_VERY_EFFECTIVE - db FIGHTING, FLYING, NOT_VERY_EFFECTIVE - db FIGHTING, PSYCHIC, NOT_VERY_EFFECTIVE - db FIGHTING, BUG, NOT_VERY_EFFECTIVE - db FIGHTING, ROCK, SUPER_EFFECTIVE - db FIGHTING, DARK, SUPER_EFFECTIVE - db FIGHTING, STEEL, SUPER_EFFECTIVE - db POISON, GRASS, SUPER_EFFECTIVE - db POISON, POISON, NOT_VERY_EFFECTIVE - db POISON, GROUND, NOT_VERY_EFFECTIVE - db POISON, ROCK, NOT_VERY_EFFECTIVE - db POISON, GHOST, NOT_VERY_EFFECTIVE - db POISON, STEEL, NO_EFFECT - db GROUND, FIRE, SUPER_EFFECTIVE - db GROUND, ELECTRIC, SUPER_EFFECTIVE - db GROUND, GRASS, NOT_VERY_EFFECTIVE - db GROUND, POISON, SUPER_EFFECTIVE - db GROUND, FLYING, NO_EFFECT - db GROUND, BUG, NOT_VERY_EFFECTIVE - db GROUND, ROCK, SUPER_EFFECTIVE - db GROUND, STEEL, SUPER_EFFECTIVE - db FLYING, ELECTRIC, NOT_VERY_EFFECTIVE - db FLYING, GRASS, SUPER_EFFECTIVE - db FLYING, FIGHTING, SUPER_EFFECTIVE - db FLYING, BUG, SUPER_EFFECTIVE - db FLYING, ROCK, NOT_VERY_EFFECTIVE - db FLYING, STEEL, NOT_VERY_EFFECTIVE - db PSYCHIC, FIGHTING, SUPER_EFFECTIVE - db PSYCHIC, POISON, SUPER_EFFECTIVE - db PSYCHIC, PSYCHIC, NOT_VERY_EFFECTIVE - db PSYCHIC, DARK, NO_EFFECT - db PSYCHIC, STEEL, NOT_VERY_EFFECTIVE - db BUG, FIRE, NOT_VERY_EFFECTIVE - db BUG, GRASS, SUPER_EFFECTIVE - db BUG, FIGHTING, NOT_VERY_EFFECTIVE - db BUG, POISON, NOT_VERY_EFFECTIVE - db BUG, FLYING, NOT_VERY_EFFECTIVE - db BUG, PSYCHIC, SUPER_EFFECTIVE - db BUG, GHOST, NOT_VERY_EFFECTIVE - db BUG, DARK, SUPER_EFFECTIVE - db BUG, STEEL, NOT_VERY_EFFECTIVE - db ROCK, FIRE, SUPER_EFFECTIVE - db ROCK, ICE, SUPER_EFFECTIVE - db ROCK, FIGHTING, NOT_VERY_EFFECTIVE - db ROCK, GROUND, NOT_VERY_EFFECTIVE - db ROCK, FLYING, SUPER_EFFECTIVE - db ROCK, BUG, SUPER_EFFECTIVE - db ROCK, STEEL, NOT_VERY_EFFECTIVE - db GHOST, NORMAL, NO_EFFECT - db GHOST, PSYCHIC, SUPER_EFFECTIVE - db GHOST, DARK, NOT_VERY_EFFECTIVE - db GHOST, STEEL, NOT_VERY_EFFECTIVE - db GHOST, GHOST, SUPER_EFFECTIVE - db DRAGON, DRAGON, SUPER_EFFECTIVE - db DRAGON, STEEL, NOT_VERY_EFFECTIVE - db DARK, FIGHTING, NOT_VERY_EFFECTIVE - db DARK, PSYCHIC, SUPER_EFFECTIVE - db DARK, GHOST, SUPER_EFFECTIVE - db DARK, DARK, NOT_VERY_EFFECTIVE - db DARK, STEEL, NOT_VERY_EFFECTIVE - db STEEL, FIRE, NOT_VERY_EFFECTIVE - db STEEL, WATER, NOT_VERY_EFFECTIVE - db STEEL, ELECTRIC, NOT_VERY_EFFECTIVE - db STEEL, ICE, SUPER_EFFECTIVE - db STEEL, ROCK, SUPER_EFFECTIVE - db STEEL, STEEL, NOT_VERY_EFFECTIVE + ; attacker, defender, *= + db NORMAL, ROCK, NOT_VERY_EFFECTIVE + db NORMAL, STEEL, NOT_VERY_EFFECTIVE + db FIRE, FIRE, NOT_VERY_EFFECTIVE + db FIRE, WATER, NOT_VERY_EFFECTIVE + db FIRE, GRASS, SUPER_EFFECTIVE + db FIRE, ICE, SUPER_EFFECTIVE + db FIRE, BUG, SUPER_EFFECTIVE + db FIRE, ROCK, NOT_VERY_EFFECTIVE + db FIRE, DRAGON, NOT_VERY_EFFECTIVE + db FIRE, STEEL, SUPER_EFFECTIVE + db WATER, FIRE, SUPER_EFFECTIVE + db WATER, WATER, NOT_VERY_EFFECTIVE + db WATER, GRASS, NOT_VERY_EFFECTIVE + db WATER, GROUND, SUPER_EFFECTIVE + db WATER, ROCK, SUPER_EFFECTIVE + db WATER, DRAGON, NOT_VERY_EFFECTIVE + db ELECTRIC, WATER, SUPER_EFFECTIVE + db ELECTRIC, ELECTRIC, NOT_VERY_EFFECTIVE + db ELECTRIC, GRASS, NOT_VERY_EFFECTIVE + db ELECTRIC, GROUND, NO_EFFECT + db ELECTRIC, FLYING, SUPER_EFFECTIVE + db ELECTRIC, DRAGON, NOT_VERY_EFFECTIVE + db GRASS, FIRE, NOT_VERY_EFFECTIVE + db GRASS, WATER, SUPER_EFFECTIVE + db GRASS, GRASS, NOT_VERY_EFFECTIVE + db GRASS, POISON, NOT_VERY_EFFECTIVE + db GRASS, GROUND, SUPER_EFFECTIVE + db GRASS, FLYING, NOT_VERY_EFFECTIVE + db GRASS, BUG, NOT_VERY_EFFECTIVE + db GRASS, ROCK, SUPER_EFFECTIVE + db GRASS, DRAGON, NOT_VERY_EFFECTIVE + db GRASS, STEEL, NOT_VERY_EFFECTIVE + db ICE, WATER, NOT_VERY_EFFECTIVE + db ICE, GRASS, SUPER_EFFECTIVE + db ICE, ICE, NOT_VERY_EFFECTIVE + db ICE, GROUND, SUPER_EFFECTIVE + db ICE, FLYING, SUPER_EFFECTIVE + db ICE, DRAGON, SUPER_EFFECTIVE + db ICE, STEEL, NOT_VERY_EFFECTIVE + db ICE, FIRE, NOT_VERY_EFFECTIVE + db FIGHTING, NORMAL, SUPER_EFFECTIVE + db FIGHTING, ICE, SUPER_EFFECTIVE + db FIGHTING, POISON, NOT_VERY_EFFECTIVE + db FIGHTING, FLYING, NOT_VERY_EFFECTIVE + db FIGHTING, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE + db FIGHTING, BUG, NOT_VERY_EFFECTIVE + db FIGHTING, ROCK, SUPER_EFFECTIVE + db FIGHTING, DARK, SUPER_EFFECTIVE + db FIGHTING, STEEL, SUPER_EFFECTIVE + db POISON, GRASS, SUPER_EFFECTIVE + db POISON, POISON, NOT_VERY_EFFECTIVE + db POISON, GROUND, NOT_VERY_EFFECTIVE + db POISON, ROCK, NOT_VERY_EFFECTIVE + db POISON, GHOST, NOT_VERY_EFFECTIVE + db POISON, STEEL, NO_EFFECT + db GROUND, FIRE, SUPER_EFFECTIVE + db GROUND, ELECTRIC, SUPER_EFFECTIVE + db GROUND, GRASS, NOT_VERY_EFFECTIVE + db GROUND, POISON, SUPER_EFFECTIVE + db GROUND, FLYING, NO_EFFECT + db GROUND, BUG, NOT_VERY_EFFECTIVE + db GROUND, ROCK, SUPER_EFFECTIVE + db GROUND, STEEL, SUPER_EFFECTIVE + db FLYING, ELECTRIC, NOT_VERY_EFFECTIVE + db FLYING, GRASS, SUPER_EFFECTIVE + db FLYING, FIGHTING, SUPER_EFFECTIVE + db FLYING, BUG, SUPER_EFFECTIVE + db FLYING, ROCK, NOT_VERY_EFFECTIVE + db FLYING, STEEL, NOT_VERY_EFFECTIVE + db PSYCHIC_TYPE, FIGHTING, SUPER_EFFECTIVE + db PSYCHIC_TYPE, POISON, SUPER_EFFECTIVE + db PSYCHIC_TYPE, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE + db PSYCHIC_TYPE, DARK, NO_EFFECT + db PSYCHIC_TYPE, STEEL, NOT_VERY_EFFECTIVE + db BUG, FIRE, NOT_VERY_EFFECTIVE + db BUG, GRASS, SUPER_EFFECTIVE + db BUG, FIGHTING, NOT_VERY_EFFECTIVE + db BUG, POISON, NOT_VERY_EFFECTIVE + db BUG, FLYING, NOT_VERY_EFFECTIVE + db BUG, PSYCHIC_TYPE, SUPER_EFFECTIVE + db BUG, GHOST, NOT_VERY_EFFECTIVE + db BUG, DARK, SUPER_EFFECTIVE + db BUG, STEEL, NOT_VERY_EFFECTIVE + db ROCK, FIRE, SUPER_EFFECTIVE + db ROCK, ICE, SUPER_EFFECTIVE + db ROCK, FIGHTING, NOT_VERY_EFFECTIVE + db ROCK, GROUND, NOT_VERY_EFFECTIVE + db ROCK, FLYING, SUPER_EFFECTIVE + db ROCK, BUG, SUPER_EFFECTIVE + db ROCK, STEEL, NOT_VERY_EFFECTIVE + db GHOST, NORMAL, NO_EFFECT + db GHOST, PSYCHIC_TYPE, SUPER_EFFECTIVE + db GHOST, DARK, NOT_VERY_EFFECTIVE + db GHOST, STEEL, NOT_VERY_EFFECTIVE + db GHOST, GHOST, SUPER_EFFECTIVE + db DRAGON, DRAGON, SUPER_EFFECTIVE + db DRAGON, STEEL, NOT_VERY_EFFECTIVE + db DARK, FIGHTING, NOT_VERY_EFFECTIVE + db DARK, PSYCHIC_TYPE, SUPER_EFFECTIVE + db DARK, GHOST, SUPER_EFFECTIVE + db DARK, DARK, NOT_VERY_EFFECTIVE + db DARK, STEEL, NOT_VERY_EFFECTIVE + db STEEL, FIRE, NOT_VERY_EFFECTIVE + db STEEL, WATER, NOT_VERY_EFFECTIVE + db STEEL, ELECTRIC, NOT_VERY_EFFECTIVE + db STEEL, ICE, SUPER_EFFECTIVE + db STEEL, ROCK, SUPER_EFFECTIVE + db STEEL, STEEL, NOT_VERY_EFFECTIVE db -2 ; end (with Foresight) ; Foresight removes Ghost's immunities. - db NORMAL, GHOST, NO_EFFECT - db FIGHTING, GHOST, NO_EFFECT + db NORMAL, GHOST, NO_EFFECT + db FIGHTING, GHOST, NO_EFFECT db -1 ; end diff --git a/data/wild/roammon_maps.asm b/data/wild/roammon_maps.asm index 747dffae1..628a26795 100644 --- a/data/wild/roammon_maps.asm +++ b/data/wild/roammon_maps.asm @@ -4,7 +4,7 @@ roam_map: MACRO map_id \1 db _NARG - 1 -rept _NARG + -1 +rept _NARG - 1 map_id \2 shift endr diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index abb1e524f..f306cc84d 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -901,8 +901,12 @@ This bug existed for all battles in Gold and Silver, and was only fixed for sing ld hl, wEnemyMonType1 ldh a, [hBattleTurn] and a - jr z, CheckTypeMatchup +- jr z, CheckTypeMatchup ++ jr z, .get_type ld hl, wBattleMonType1 ++.get_type ++ ld a, BATTLE_VARS_MOVE_TYPE ++ call GetBattleVar ; preserves hl, de, and bc CheckTypeMatchup: -; There is an incorrect assumption about this function made in the AI related code: when -; the AI calls CheckTypeMatchup (not BattleCheckTypeMatchup), it assumes that placing the @@ -910,8 +914,6 @@ This bug existed for all battles in Gold and Silver, and was only fixed for sing -; this assumption is incorrect. A simple fix would be to load the move type for the -; current move into a in BattleCheckTypeMatchup, before falling through, which is -; consistent with how the rest of the code assumes this code works like. -+ ld a, BATTLE_VARS_MOVE_TYPE -+ call GetBattleVar ; preserves hl, de, and bc push hl push de push bc @@ -1840,8 +1842,8 @@ This bug can allow you to talk to Eusine in Celadon City and encounter Ho-Oh wit ld hl, wPlayerName --rept NAME_LENGTH_JAPANESE + -2 ; should be PLAYER_NAME_LENGTH + -2 -+rept PLAYER_NAME_LENGTH + -2 +-rept NAME_LENGTH_JAPANESE - 2 ; should be PLAYER_NAME_LENGTH - 2 ++rept PLAYER_NAME_LENGTH - 2 ld a, [de] cp [hl] jr nz, .notfound diff --git a/engine/battle/move_effects/conversion.asm b/engine/battle/move_effects/conversion.asm index eaa3d6c9c..b6081a6bd 100644 --- a/engine/battle/move_effects/conversion.asm +++ b/engine/battle/move_effects/conversion.asm @@ -46,7 +46,7 @@ BattleCommand_Conversion: ld a, [hl] cp -1 jr z, .fail - cp CURSE_T + cp CURSE_TYPE jr z, .next ld a, [de] cp [hl] @@ -75,7 +75,7 @@ BattleCommand_Conversion: ld a, [hl] cp -1 jr z, .loop3 - cp CURSE_T + cp CURSE_TYPE jr z, .loop3 ld a, [de] cp [hl] diff --git a/engine/battle/move_effects/conversion2.asm b/engine/battle/move_effects/conversion2.asm index 802b57b53..bc8667278 100644 --- a/engine/battle/move_effects/conversion2.asm +++ b/engine/battle/move_effects/conversion2.asm @@ -20,7 +20,7 @@ BattleCommand_Conversion2: call GetMoveAttr ld d, a pop hl - cp CURSE_T + cp CURSE_TYPE jr z, .failed call AnimateCurrentMove call BattleCommand_SwitchTurn diff --git a/engine/battle_anims/anim_commands.asm b/engine/battle_anims/anim_commands.asm index 113e9df37..bbfc1240e 100644 --- a/engine/battle_anims/anim_commands.asm +++ b/engine/battle_anims/anim_commands.asm @@ -237,14 +237,14 @@ BattleAnim_ClearOAM: bit BATTLEANIM_KEEPSPRITES_F, a jr z, .delete - ; Instead of deleting the sprites, make them all use palette 0 (monochrome) + ; Instead of deleting the sprites, make them all use PAL_BATTLE_OB_ENEMY ld hl, wVirtualOAMSprite00Attributes ld c, NUM_SPRITE_OAM_STRUCTS .loop ld a, [hl] - and $ff ^ (PALETTE_MASK | VRAM_BANK_1) + and $ff ^ (PALETTE_MASK | VRAM_BANK_1) ; PAL_BATTLE_OB_ENEMY (0) ld [hli], a -rept SPRITEOAMSTRUCT_LENGTH + -1 +rept SPRITEOAMSTRUCT_LENGTH - 1 inc hl endr dec c diff --git a/engine/events/battle_tower/battle_tower.asm b/engine/events/battle_tower/battle_tower.asm index 3e3bbb57f..9d10d7289 100644 --- a/engine/events/battle_tower/battle_tower.asm +++ b/engine/events/battle_tower/battle_tower.asm @@ -395,10 +395,10 @@ ValidateBTParty: ld a, [hl] and a x = $ff -rept ($ff + -NUM_POKEMON) +rept ($ff - NUM_POKEMON) jr z, .invalid cp x -x = x + -1 +x = x - 1 endr jr nz, .valid diff --git a/engine/events/bug_contest/judging.asm b/engine/events/bug_contest/judging.asm index 9f8c0c5c2..9945f2031 100644 --- a/engine/events/bug_contest/judging.asm +++ b/engine/events/bug_contest/judging.asm @@ -211,7 +211,7 @@ DetermineContestWinners: CopyTempContestant: ; Could've just called CopyBytes. ld de, wBugContestTempWinnerID -rept BUG_CONTESTANT_SIZE + -1 +rept BUG_CONTESTANT_SIZE - 1 ld a, [de] inc de ld [hli], a diff --git a/engine/events/celebi.asm b/engine/events/celebi.asm index 2e497c86e..d53fa8589 100644 --- a/engine/events/celebi.asm +++ b/engine/events/celebi.asm @@ -57,7 +57,7 @@ CelebiShrineEvent: ld c, 4 .OAMloop: ld [hli], a ; tile id -rept SPRITEOAMSTRUCT_LENGTH + -1 +rept SPRITEOAMSTRUCT_LENGTH - 1 inc hl endr inc a diff --git a/engine/events/field_moves.asm b/engine/events/field_moves.asm index c898c6690..6413840cc 100644 --- a/engine/events/field_moves.asm +++ b/engine/events/field_moves.asm @@ -383,7 +383,7 @@ FlyToAnim: ld c, 4 .OAMloop ld [hli], a ; tile id -rept SPRITEOAMSTRUCT_LENGTH + -1 +rept SPRITEOAMSTRUCT_LENGTH - 1 inc hl endr inc a diff --git a/engine/events/print_unown_2.asm b/engine/events/print_unown_2.asm index 77eb050a1..5dc7b1b94 100644 --- a/engine/events/print_unown_2.asm +++ b/engine/events/print_unown_2.asm @@ -98,10 +98,10 @@ RotateUnownFrontpic: gbprinterrect: MACRO y = 0 rept \1 -x = \1 * (\2 + -1) + y +x = \1 * (\2 - 1) + y rept \2 dw wGameboyPrinterRAM tile x -x = x + -\2 +x = x - \2 endr y = y + 1 endr diff --git a/engine/events/std_scripts.asm b/engine/events/std_scripts.asm index b7426caec..b3a0082e1 100644 --- a/engine/events/std_scripts.asm +++ b/engine/events/std_scripts.asm @@ -535,7 +535,7 @@ InitializeEventsScript: setevent EVENT_PLAYERS_HOUSE_2F_DOLL_2 setevent EVENT_PLAYERS_HOUSE_2F_BIG_DOLL setevent EVENT_DECO_BED_1 - setevent EVENT_DECO_PLANT_4 + setevent EVENT_DECO_POSTER_1 setevent EVENT_GOLDENROD_TRAIN_STATION_GENTLEMAN setevent EVENT_OLIVINE_GYM_JASMINE setevent EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN diff --git a/engine/games/slot_machine.asm b/engine/games/slot_machine.asm index 2765dd870..eaf7999bd 100644 --- a/engine/games/slot_machine.asm +++ b/engine/games/slot_machine.asm @@ -261,7 +261,7 @@ Unreferenced_Function9282c: ld a, [hl] xor %00100000 ld [hli], a ; tile id -rept SPRITEOAMSTRUCT_LENGTH + -1 +rept SPRITEOAMSTRUCT_LENGTH - 1 inc hl endr dec c diff --git a/engine/gfx/pic_animation.asm b/engine/gfx/pic_animation.asm index 8eff13ad1..fda39e5c6 100644 --- a/engine/gfx/pic_animation.asm +++ b/engine/gfx/pic_animation.asm @@ -538,7 +538,7 @@ PokeAnim_CopyBitmaskToBuffer: poke_anim_box: MACRO y = 7 rept \1 -x = 7 + -\1 +x = 7 - \1 rept \1 db x + y x = x + 1 diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 11928cd63..b92181d91 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -110,7 +110,7 @@ ItemEffects: dw NoEffect ; MYSTIC_WATER dw NoEffect ; TWISTEDSPOON dw NoEffect ; WHT_APRICORN - dw NoEffect ; BLACKBELT + dw NoEffect ; BLACKBELT_I dw NoEffect ; BLK_APRICORN dw NoEffect ; ITEM_64 dw NoEffect ; PNK_APRICORN diff --git a/engine/menus/options_menu.asm b/engine/menus/options_menu.asm index d1aa563f6..9a6b0fdc7 100644 --- a/engine/menus/options_menu.asm +++ b/engine/menus/options_menu.asm @@ -114,7 +114,7 @@ Options_TextSpeed: ld a, c ; right pressed cp OPT_TEXT_SPEED_SLOW jr c, .Increase - ld c, OPT_TEXT_SPEED_FAST + -1 + ld c, OPT_TEXT_SPEED_FAST - 1 .Increase: inc c diff --git a/engine/movie/crystal_intro.asm b/engine/movie/crystal_intro.asm index eeab51062..9fbd67078 100644 --- a/engine/movie/crystal_intro.asm +++ b/engine/movie/crystal_intro.asm @@ -1796,16 +1796,16 @@ endr hue = 31 rept 8 RGB hue, hue, hue -hue = hue + -1 +hue = hue - 1 RGB hue, hue, hue -hue = hue + -2 +hue = hue - 2 endr .SlowFadePalettes: hue = 31 rept 16 RGB hue, hue, hue -hue = hue + -1 +hue = hue - 1 endr Intro_LoadTilemap: diff --git a/engine/movie/evolution_animation.asm b/engine/movie/evolution_animation.asm index ed500d1f8..0960fb3e7 100644 --- a/engine/movie/evolution_animation.asm +++ b/engine/movie/evolution_animation.asm @@ -339,7 +339,7 @@ EvolutionAnimation: ld a, [hl] or b ld [hli], a ; attributes -rept SPRITEOAMSTRUCT_LENGTH + -1 +rept SPRITEOAMSTRUCT_LENGTH - 1 inc hl endr dec c diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 50c8721d0..dce02804f 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -356,7 +356,7 @@ AnimateTitleCrystal: ld a, [hl] add 2 ld [hli], a ; y -rept SPRITEOAMSTRUCT_LENGTH + -1 +rept SPRITEOAMSTRUCT_LENGTH - 1 inc hl endr dec c diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index dd4977f1b..d3d7c9922 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -1472,7 +1472,7 @@ BillsPC_UpdateSelectionCursor: inc hl ld [de], a ; y inc de -rept SPRITEOAMSTRUCT_LENGTH + -1 +rept SPRITEOAMSTRUCT_LENGTH - 1 ld a, [hli] ld [de], a inc de @@ -1520,7 +1520,7 @@ BillsPC_UpdateInsertCursor: inc hl ld [de], a ; y inc de -rept SPRITEOAMSTRUCT_LENGTH + -1 +rept SPRITEOAMSTRUCT_LENGTH - 1 ld a, [hli] ld [de], a inc de diff --git a/engine/pokemon/move_mon.asm b/engine/pokemon/move_mon.asm index 8133e2671..bfd2f91f2 100644 --- a/engine/pokemon/move_mon.asm +++ b/engine/pokemon/move_mon.asm @@ -117,7 +117,7 @@ GeneratePartyMonStats: and a jr nz, .randomlygeneratemoves ld de, wEnemyMonMoves -rept NUM_MOVES + -1 +rept NUM_MOVES - 1 ld a, [de] inc de ld [hli], a @@ -128,7 +128,7 @@ endr .randomlygeneratemoves xor a -rept NUM_MOVES + -1 +rept NUM_MOVES - 1 ld [hli], a endr ld [hl], a diff --git a/engine/pokemon/search.asm b/engine/pokemon/search.asm index 2ea1beacf..bc3e6ae3b 100644 --- a/engine/pokemon/search.asm +++ b/engine/pokemon/search.asm @@ -216,7 +216,7 @@ CheckOwnMon: ld hl, wPlayerName -rept NAME_LENGTH_JAPANESE + -2 ; should be PLAYER_NAME_LENGTH + -2 +rept NAME_LENGTH_JAPANESE - 2 ; should be PLAYER_NAME_LENGTH - 2 ld a, [de] cp [hl] jr nz, .notfound diff --git a/engine/pokemon/stats_screen.asm b/engine/pokemon/stats_screen.asm index cb066317d..62db2e851 100644 --- a/engine/pokemon/stats_screen.asm +++ b/engine/pokemon/stats_screen.asm @@ -2,7 +2,9 @@ const PINK_PAGE ; 1 const GREEN_PAGE ; 2 const BLUE_PAGE ; 3 -NUM_STAT_PAGES EQU const_value + -1 +NUM_STAT_PAGES EQU const_value - 1 + +STAT_PAGE_MASK EQU %00000011 BattleStatsScreenInit: ld a, [wLinkMode] @@ -63,15 +65,15 @@ StatsScreenMain: ; ??? ld [wcf64], a ld a, [wcf64] - and %11111100 - or 1 + and $ff ^ STAT_PAGE_MASK + or PINK_PAGE ; first_page ld [wcf64], a .loop ld a, [wJumptableIndex] and $ff ^ (1 << 7) ld hl, StatsScreenPointerTable rst JumpTable - call StatsScreen_WaitAnim ; check for keys? + call StatsScreen_WaitAnim ld a, [wJumptableIndex] bit 7, a jr z, .loop @@ -83,13 +85,13 @@ StatsScreenMobile: ; ??? ld [wcf64], a ld a, [wcf64] - and %11111100 - or 1 + and $ff ^ STAT_PAGE_MASK + or PINK_PAGE ; first_page ld [wcf64], a .loop farcall Mobile_SetOverworldDelay ld a, [wJumptableIndex] - and $ff ^ (1 << 7) + and $7f ld hl, StatsScreenPointerTable rst JumpTable call StatsScreen_WaitAnim @@ -355,7 +357,7 @@ StatsScreen_JoypadAction: .set_page ld a, [wcf64] - and %11111100 + and $ff ^ STAT_PAGE_MASK or c ld [wcf64], a ld h, 4 @@ -759,7 +761,7 @@ StatsScreen_LoadGFX: jr z, .done cp $7f jr z, .done - and $80 + and CAUGHT_GENDER_MASK ld a, "♂" jr z, .got_gender ld a, "♀" diff --git a/gfx/tileset_palette_maps.asm b/gfx/tileset_palette_maps.asm index 110e48941..df751c311 100644 --- a/gfx/tileset_palette_maps.asm +++ b/gfx/tileset_palette_maps.asm @@ -2,7 +2,7 @@ tilepal: MACRO ; used in gfx/tilesets/*_palette_map.asm ; vram bank, pals x = \1 << OAM_TILE_BANK -rept (_NARG + -1) / 2 +rept (_NARG - 1) / 2 dn (x | PAL_BG_\3), (x | PAL_BG_\2) shift shift diff --git a/home/map.asm b/home/map.asm index a2268d51a..ebcf7f879 100644 --- a/home/map.asm +++ b/home/map.asm @@ -163,7 +163,7 @@ LoadMetatiles:: ld h, a ; copy the 4x4 metatile -rept METATILE_WIDTH + -1 +rept METATILE_WIDTH - 1 rept METATILE_WIDTH ld a, [hli] ld [de], a diff --git a/macros/data.asm b/macros/data.asm index 59f518b8d..76a5d31de 100644 --- a/macros/data.asm +++ b/macros/data.asm @@ -51,7 +51,7 @@ dx: MACRO x = 8 * ((\1) - 1) rept \1 db ((\2) >> x) & $ff -x = x + -8 +x = x - 8 endr ENDM diff --git a/macros/enum.asm b/macros/enum.asm index 003445be7..41d1da167 100644 --- a/macros/enum.asm +++ b/macros/enum.asm @@ -9,7 +9,7 @@ endc if _NARG >= 2 __enumdir__ = \2 else -__enumdir__ = +1 +__enumdir__ = 1 endc ENDM diff --git a/macros/scripts/audio.asm b/macros/scripts/audio.asm index 92654ff9a..6f87bc3ec 100644 --- a/macros/scripts/audio.asm +++ b/macros/scripts/audio.asm @@ -41,7 +41,7 @@ noise_note: MACRO ENDM ; MusicCommands indexes (see audio/engine.asm) - enum_start $d0, +8 + enum_start $d0, 8 FIRST_MUSIC_CMD EQU __enum__ enum octave_cmd ; $d0 @@ -49,7 +49,7 @@ octave: MACRO db octave_cmd | 8 - (\1) ; octave ENDM -__enumdir__ = +1 +__enumdir__ = 1 enum note_type_cmd ; $d8 note_type: MACRO diff --git a/macros/scripts/gfx_anims.asm b/macros/scripts/gfx_anims.asm index 3756481dd..a6241a0d8 100644 --- a/macros/scripts/gfx_anims.asm +++ b/macros/scripts/gfx_anims.asm @@ -4,7 +4,7 @@ frame: MACRO db \1 x = \2 if _NARG > 2 -rept _NARG + -2 +rept _NARG - 2 x = x | (1 << (\3 + 1)) shift endr diff --git a/macros/scripts/movement.asm b/macros/scripts/movement.asm index eeda6bd83..e5981c0f9 100644 --- a/macros/scripts/movement.asm +++ b/macros/scripts/movement.asm @@ -1,5 +1,5 @@ ; MovementPointers indexes (see engine/overworld/movement.asm) - enum_start 0, +4 + enum_start 0, 4 ; Directional movements @@ -73,7 +73,7 @@ fast_jump_step: MACRO db movement_fast_jump_step | \1 ENDM -__enumdir__ = +1 +__enumdir__ = 1 ; Control enum movement_remove_sliding ; $38 diff --git a/macros/wram.asm b/macros/wram.asm index af306d1f8..abc7df48e 100644 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -106,7 +106,7 @@ box: MACRO \1Species:: ds MONS_PER_BOX + 1 \1Mons:: \1Mon1:: box_struct \1Mon1 -\1Mon2:: ds BOXMON_STRUCT_LENGTH * (MONS_PER_BOX + -1) +\1Mon2:: ds BOXMON_STRUCT_LENGTH * (MONS_PER_BOX - 1) \1MonOT:: ds NAME_LENGTH * MONS_PER_BOX \1MonNicknames:: ds MON_NAME_LENGTH * MONS_PER_BOX \1MonNicknamesEnd:: @@ -171,7 +171,7 @@ channel_struct: MACRO ENDM battle_tower_struct: MACRO -\1Name:: ds NAME_LENGTH + -1 +\1Name:: ds NAME_LENGTH - 1 \1TrainerClass:: ds 1 \1Mon1:: party_struct \1Mon1 \1Mon1Name:: ds MON_NAME_LENGTH @@ -217,7 +217,7 @@ hof_mon: MACRO \1ID:: dw \1DVs:: dw \1Level:: db -\1Nickname:: ds MON_NAME_LENGTH + -1 +\1Nickname:: ds MON_NAME_LENGTH - 1 \1End:: ENDM @@ -233,7 +233,7 @@ hall_of_fame: MACRO ENDM link_battle_record: MACRO -\1Name:: ds NAME_LENGTH + -1 +\1Name:: ds NAME_LENGTH - 1 \1ID:: dw \1Wins:: dw \1Losses:: dw diff --git a/maps/LakeOfRage.asm b/maps/LakeOfRage.asm index 4905aa972..bb246d1b0 100644 --- a/maps/LakeOfRage.asm +++ b/maps/LakeOfRage.asm @@ -202,7 +202,7 @@ WesleyScript: .MetWesley: writetext WesleyGivesGiftText promptbutton - verbosegiveitem BLACKBELT + verbosegiveitem BLACKBELT_I iffalse WesleyDoneScript setevent EVENT_GOT_BLACKBELT_FROM_WESLEY writetext WesleyGaveGiftText diff --git a/mobile/fixed_words.asm b/mobile/fixed_words.asm index acbd318e8..3567e6b54 100644 --- a/mobile/fixed_words.asm +++ b/mobile/fixed_words.asm @@ -4059,7 +4059,7 @@ macro_11f220: MACRO ; 12 words per page (0-based indexing) x = \1 / 12 if \1 % 12 == 0 -x = x + -1 +x = x - 1 endc db x ENDM diff --git a/wram.asm b/wram.asm index f77b1095d..ce41613db 100644 --- a/wram.asm +++ b/wram.asm @@ -2399,9 +2399,9 @@ wPlayerSpriteSetupFlags:: ; d45b ; bit 2: female player has been transformed into male ; bits 0-1: direction facing db -wMapReentryScriptQueueFlag:: db ; d45c MemScriptFlag -wMapReentryScriptBank:: db ; d45d MemScriptBank -wMapReentryScriptAddress:: dw ; d45e MemScriptAddr +wMapReentryScriptQueueFlag:: db ; d45c +wMapReentryScriptBank:: db ; d45d +wMapReentryScriptAddress:: dw ; d45e ds 4 wTimeCyclesSinceLastCall:: db ; d464 wReceiveCallDelay_MinsRemaining:: db ; d465 @@ -2868,10 +2868,10 @@ wLastSpawnMapGroup:: db wLastSpawnMapNumber:: db wWarpNumber:: db ; dcb4 -wMapGroup:: db ; dcb5 ; map group of current map -wMapNumber:: db ; dcb6 ; map number of current map -wYCoord:: db ; dcb7 ; current y coordinate relative to top-left corner of current map -wXCoord:: db ; dcb8 ; current x coordinate relative to top-left corner of current map +wMapGroup:: db ; dcb5 +wMapNumber:: db ; dcb6 +wYCoord:: db ; dcb7 +wXCoord:: db ; dcb8 wScreenSave:: ds SCREEN_META_WIDTH * SCREEN_META_HEIGHT wCurMapDataEnd:: @@ -2881,8 +2881,8 @@ SECTION "Party", WRAMX wPokemonData:: -wPartyCount:: db ; dcd7 ; number of Pokémon in party -wPartySpecies:: ds PARTY_LENGTH ; dcd8 ; species of each Pokémon in party +wPartyCount:: db ; dcd7 +wPartySpecies:: ds PARTY_LENGTH ; dcd8 wPartyEnd:: db ; dcde ; older code doesn't check wPartyCount wPartyMons::