diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 0e6fa0fc..fb0ffd9e 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -58,7 +58,7 @@ DEF SAFARI_ROCK EQU $16 ; overload const LEAF_STONE ; $2F const CARD_KEY ; $30 const NUGGET ; $31 - const WING_FOSSIL ; $32 + const WING_FOSSIL ; $32 const POKE_DOLL ; $33 const FULL_HEAL ; $34 const REVIVE ; $35 @@ -112,7 +112,8 @@ DEF NUM_ITEMS EQU const_value - 1 const ICE_STONE ; $62 const PROTECTOR ; $63 const POISON_STONE ; $64 - const BLK_AUGURITE ; $65 + const BLK_AUGURITE ; $65 + const DUBIOUS_DISC ; $66 DEF NUM_FLOORS EQU const_value - 1 - NUM_ITEMS const_next $C4 diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index b138354a..199147ae 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -108,7 +108,7 @@ const DEX_MAGNEMITE ; 81 const DEX_MAGNETITE const DEX_MAGNETON ; 82 - ; const DEX_MAGNEZONE + const DEX_MAGNEZONE const DEX_BARUNDA const DEX_FARFETCHD ; 83 const DEX_MADAAMU @@ -209,7 +209,7 @@ const DEX_SYLVEON const DEX_PORYGON ; 137 const DEX_PORYGON2 - ; const DEX_PORYGONZ + const DEX_PORYGONZ const DEX_OMANYTE ; 138 const DEX_OMASTAR ; 139 const DEX_KABUTO ; 140 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 291cdeea..fa9246b1 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -225,8 +225,8 @@ const PARA ; $D8 const HINAAZU ; $D9 const BETOBEBII ; $DA - ; const MAGNEZONE ; $DB - ; const PORYGONZ ; $DC + const MAGNEZONE ; $DB + const PORYGONZ ; $DC ; const PERRSERKER ; $DD ; const SIRFETCHD ; $DE ; const MR_RIME ; $DF diff --git a/data/items/key_items.asm b/data/items/key_items.asm index e88abbd6..6da86e59 100644 --- a/data/items/key_items.asm +++ b/data/items/key_items.asm @@ -89,7 +89,7 @@ KeyItemFlags: dbit TRUE ; FLOOR_2F dbit TRUE ; FLOOR_3F dbit TRUE ; FLOOR_4F - dbit TRUE ; FLOOR_5F + dbit TRUE ; FLOOR_5F dbit TRUE ; FLOOR_6F dbit TRUE ; FLOOR_7F dbit TRUE ; FLOOR_8F @@ -101,4 +101,5 @@ KeyItemFlags: dbit FALSE ; PROTECTOR dbit FALSE ; POISON_STONE dbit FALSE ; BLK_AUGURITE + dbit FALSE ; DUBIOUS_DISC end_bit_array NUM_ITEMS + NUM_FLOORS diff --git a/data/items/names.asm b/data/items/names.asm index 698abfd4..fd4835cd 100644 --- a/data/items/names.asm +++ b/data/items/names.asm @@ -102,4 +102,5 @@ ItemNames:: li "PROTECTOR" li "POISON STONE" li "BLK AUGURITE" + li "DUBIOUS DISC" assert_list_length NUM_ITEMS + NUM_FLOORS diff --git a/data/items/prices.asm b/data/items/prices.asm index f3b90eb2..f7e04e8b 100644 --- a/data/items/prices.asm +++ b/data/items/prices.asm @@ -102,4 +102,5 @@ ItemPrices:: bcd3 3000 ; PROTECTOR bcd3 2100 ; POISON_STONE bcd3 2100 ; BLK_AUGURITE + bcd3 3000 ; DUBIOUS_DISC assert_table_length NUM_ITEMS + NUM_FLOORS diff --git a/data/items/use_party.asm b/data/items/use_party.asm index 62e55ef5..111bba1c 100644 --- a/data/items/use_party.asm +++ b/data/items/use_party.asm @@ -41,4 +41,5 @@ UsableItems_PartyMenu: db PROTECTOR db POISON_STONE db BLK_AUGURITE + db DUBIOUS_DISC db -1 ; end diff --git a/data/pokemon/base_stats.asm b/data/pokemon/base_stats.asm index 1b7dc875..64987101 100644 --- a/data/pokemon/base_stats.asm +++ b/data/pokemon/base_stats.asm @@ -103,6 +103,7 @@ INCLUDE "data/pokemon/base_stats/slowking.asm" INCLUDE "data/pokemon/base_stats/magnemite.asm" INCLUDE "data/pokemon/base_stats/magnetite.asm" INCLUDE "data/pokemon/base_stats/magneton.asm" +INCLUDE "data/pokemon/base_stats/magnezone.asm" INCLUDE "data/pokemon/base_stats/barunda.asm" INCLUDE "data/pokemon/base_stats/farfetchd.asm" INCLUDE "data/pokemon/base_stats/madaamu.asm" @@ -201,6 +202,7 @@ INCLUDE "data/pokemon/base_stats/glaceon.asm" INCLUDE "data/pokemon/base_stats/sylveon.asm" INCLUDE "data/pokemon/base_stats/porygon.asm" INCLUDE "data/pokemon/base_stats/porygon2.asm" +INCLUDE "data/pokemon/base_stats/porygonz.asm" INCLUDE "data/pokemon/base_stats/omanyte.asm" INCLUDE "data/pokemon/base_stats/omastar.asm" INCLUDE "data/pokemon/base_stats/kabuto.asm" diff --git a/data/pokemon/base_stats/magnezone.asm b/data/pokemon/base_stats/magnezone.asm index bc360c4f..25435484 100644 --- a/data/pokemon/base_stats/magnezone.asm +++ b/data/pokemon/base_stats/magnezone.asm @@ -1,14 +1,14 @@ db DEX_MAGNEZONE ; pokedex id - db 50, 60, 95, 70, 120 + db 70, 70, 115, 60, 130 ; hp atk def spd spc db ELECTRIC, STEEL ; type - db 60 ; catch rate - db 161 ; base exp + db 30 ; catch rate + db 211 ; base exp - INCBIN "gfx/pokemon/front/magneton.pic", 0, 1 ; sprite dimensions - dw MagnetonPicFront, MagnetonPicBack + INCBIN "gfx/pokemon/front/magnezone.pic", 0, 1 ; sprite dimensions + dw MagnezonePicFront, MagnezonePicBack db TACKLE, SONICBOOM, THUNDERSHOCK, NO_MOVE ; level 1 learnset db GROWTH_MEDIUM_FAST ; growth rate @@ -20,5 +20,5 @@ SUBSTITUTE, FLASH ; end - db BANK(MagnetonPicFront) - assert BANK(MagnetonPicFront) == BANK(MagnetonPicBack) + db BANK(MagnezonePicFront) + assert BANK(MagnezonePicFront) == BANK(MagnezonePicBack) diff --git a/data/pokemon/base_stats/porygonz.asm b/data/pokemon/base_stats/porygonz.asm new file mode 100644 index 00000000..2b49e3e9 --- /dev/null +++ b/data/pokemon/base_stats/porygonz.asm @@ -0,0 +1,25 @@ + db DEX_PORYGONZ ; pokedex id + + db 85, 80, 70, 90, 135 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 30 ; catch rate + db 185 ; base exp + + INCBIN "gfx/pokemon/front/porygonz.pic", 0, 1 ; sprite dimensions + dw PorygonZPicFront, PorygonZPicBack + + db TACKLE, SHARPEN, CONVERSION, NO_MOVE ; level 1 learnset + db GROWTH_MEDIUM_FAST ; growth rate + + ; tm/hm learnset + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, \ + TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, \ + TRI_ATTACK, SUBSTITUTE, FLASH + ; end + + db BANK(PorygonZPicFront) + assert BANK(PorygonZPicFront) == BANK(PorygonZPicBack) diff --git a/data/pokemon/cries.asm b/data/pokemon/cries.asm index a6557d5d..48e5b469 100644 --- a/data/pokemon/cries.asm +++ b/data/pokemon/cries.asm @@ -224,8 +224,8 @@ CryData:: mon_cry SFX_CRY_1E, $79, $40 ; Para mon_cry SFX_CRY_00, $00, $00 ; Hinaazu mon_cry SFX_CRY_05, $FF, $40 ; Betobebii - ; mon_cry SFX_CRY_00, $00, $00 ; Magnezone - ; mon_cry SFX_CRY_00, $00, $00 ; Porygon-Z + mon_cry SFX_CRY_00, $00, $00 ; Magnezone + mon_cry SFX_CRY_00, $00, $00 ; Porygon-Z ; mon_cry SFX_CRY_00, $00, $00 ; Perrserker ; mon_cry SFX_CRY_00, $00, $00 ; Sirfetch'd ; mon_cry SFX_CRY_00, $00, $00 ; Mr. Rime diff --git a/data/pokemon/dex_entries.asm b/data/pokemon/dex_entries.asm index a86761f5..11227c57 100644 --- a/data/pokemon/dex_entries.asm +++ b/data/pokemon/dex_entries.asm @@ -218,6 +218,8 @@ PokedexEntryPointers: dw ParaDexEntry dw HinaazuDexEntry dw BetobebiiDexEntry + dw MagnezoneDexEntry + dw PorygonZDexEntry assert_table_length NUM_POKEMON_INDEXES ; string: species name @@ -1736,3 +1738,17 @@ HinaazuDexEntry: dw 200 text_far _HinaazuDexEntry text_end + +MagnezoneDexEntry: + db "MAGNETAREA@" + db 3,11 + dw 3970 + text_far _MagnezoneDexEntry + text_end + +PorygonZDexEntry: + db "VIRTUAL@" + db 2,11 + dw 750 + text_far _PorygonZDexEntry + text_end \ No newline at end of file diff --git a/data/pokemon/dex_order.asm b/data/pokemon/dex_order.asm index 11f29fbd..1b520504 100644 --- a/data/pokemon/dex_order.asm +++ b/data/pokemon/dex_order.asm @@ -218,4 +218,6 @@ PokedexOrder: db DEX_PARA db DEX_HINAAZU db DEX_BETOBEBII + db DEX_MAGNEZONE + db DEX_PORYGONZ assert_table_length NUM_POKEMON_INDEXES diff --git a/data/pokemon/evos_moves.asm b/data/pokemon/evos_moves.asm index 0386c516..6b88818c 100644 --- a/data/pokemon/evos_moves.asm +++ b/data/pokemon/evos_moves.asm @@ -221,6 +221,8 @@ EvosMovesPointerTable: dw ParaEvosMoves dw HinaazuEvosMoves dw BetobebiiEvosMoves + dw MagnezoneEvosMoves + dw PorygonZEvosMoves assert_table_length NUM_POKEMON_INDEXES RhydonEvosMoves: @@ -853,6 +855,7 @@ ElectabuzzEvosMoves: MagnetonEvosMoves: ; Evolutions + db EV_ITEM, THUNDER_STONE, 1, MAGNEZONE db 0 ; Learnset db 21, SONICBOOM @@ -2699,6 +2702,7 @@ BellossomEvosMoves: Porygon2EvosMoves: ; Evolutions + db EV_ITEM, DUBIOUS_DISC, 1, PORYGONZ db 0 ; Learnset db 23, PSYBEAM @@ -2802,4 +2806,20 @@ BetobebiiEvosMoves: db 28, HARDEN db 33, SCREECH db 37, ACID_ARMOR + db 0 + +MagnezoneEvosMoves: +; Evolutions + db 0 +; Learnset + db 31, METAL_SOUND + db 41, MAGNET_BOMB + db 50, IRON_HEAD + db 0 + +PorygonZEvosMoves: +; Evolutions + db 0 +; Learnset + db 50, AMNESIA ; will replace with nasty plot db 0 \ No newline at end of file diff --git a/data/pokemon/menu_icons.asm b/data/pokemon/menu_icons.asm index 38d11448..d90d83eb 100644 --- a/data/pokemon/menu_icons.asm +++ b/data/pokemon/menu_icons.asm @@ -103,6 +103,7 @@ MonPartyData: nybble ICON_BALL ; Magnemite nybble ICON_BALL ; Magnetite nybble ICON_BALL ; Magneton + nybble ICON_BALL ; Magnezone nybble ICON_BALL ; Barunda nybble ICON_BIRD ; Farfetch'd nybble ICON_BIRD ; Madaamu @@ -201,6 +202,7 @@ MonPartyData: nybble ICON_QUADRUPED ; Sylveon nybble ICON_MON ; Porygon nybble ICON_MON ; Porygon2 + nybble ICON_MON ; Porygon-Z nybble ICON_HELIX ; Omanyte nybble ICON_HELIX ; Omastar nybble ICON_HELIX ; Kabuto diff --git a/data/pokemon/names.asm b/data/pokemon/names.asm index 56db580b..de2402a5 100644 --- a/data/pokemon/names.asm +++ b/data/pokemon/names.asm @@ -218,5 +218,7 @@ MonsterNames:: db "PARA@@@@@@" db "HINAAZU@@@" db "BETOBEBII@" + db "MAGNEZONE@" + db "PORYGON-Z@" assert_table_length NUM_POKEMON_INDEXES diff --git a/data/pokemon/palettes.asm b/data/pokemon/palettes.asm index f5867858..c049aa53 100644 --- a/data/pokemon/palettes.asm +++ b/data/pokemon/palettes.asm @@ -104,6 +104,7 @@ MonsterPalettes: db PAL_GREYMON ; MAGNEMITE db PAL_GREYMON ; MAGNETITE db PAL_GREYMON ; MAGNETON + db PAL_GREYMON ; MAGNEZONE db PAL_PINKMON ; BARUNDA db PAL_BROWNMON ; FARFETCHD db PAL_BROWNMON ; MADAAMU @@ -202,6 +203,7 @@ MonsterPalettes: db PAL_MEWMON ; SYLVEON db PAL_MEWMON ; PORYGON db PAL_MEWMON ; PORYGON2 + db PAL_MEWMON ; PORYGONZ db PAL_BLUEMON ; OMANYTE db PAL_BLUEMON ; OMASTAR db PAL_BROWNMON ; KABUTO diff --git a/engine/debug/debug_party.asm b/engine/debug/debug_party.asm index 8ce02160..24fa929e 100644 --- a/engine/debug/debug_party.asm +++ b/engine/debug/debug_party.asm @@ -23,15 +23,15 @@ SetIshiharaTeam: IshiharaTeam: db KINGDRA, 90 IF DEF(_DEBUG) - db ANIMON, 50 + db MAGNEZONE, 50 ELSE - db ANIMON, 20 + db MAGNEZONE, 20 ENDC db MAGMORTAR, 56 db ELECTIVIRE, 56 db PORYGON2, 57 IF DEF(_DEBUG) - db SCYTHER, 16 + db KADABRA, 16 ENDC db -1 ; end @@ -145,12 +145,14 @@ DebugItemsList: db ESCAPE_ROPE, 99 db RARE_CANDY, 99 db MASTER_BALL, 99 - db BLK_AUGURITE, 99 + db DUBIOUS_DISC, 99 db SECRET_KEY, 1 db CARD_KEY, 1 db S_S_TICKET, 1 db SUPER_ROD, 1 db COIN_CASE, 1 + db POKE_FLUTE, 1 + db SILPH_SCOPE, 1 db -1 ; end DebugUnusedList: diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 8ea45f13..a5511cd5 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -118,6 +118,7 @@ ItemUsePtrTable: dw ItemUseEvoStone ; PROTECTOR dw ItemUseEvoStone ; POISON_STONE dw ItemUseEvoStone ; BLK_AUGURITE + dw ItemUseEvoStone ; DUBIOUS_DISC ItemUseBall: diff --git a/gfx/pics.asm b/gfx/pics.asm index 8d1eb434..ffd8b504 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -512,3 +512,7 @@ HinaazuPicFront:: INCBIN "gfx/pokemon/front/hinaazu.pic" HinaazuPicBack:: INCBIN "gfx/pokemon/back/hinaazub.pic" BetobebiiPicFront:: INCBIN "gfx/pokemon/front/betobebii.pic" BetobebiiPicBack:: INCBIN "gfx/pokemon/back/betobebiib.pic" +MagnezonePicFront:: INCBIN "gfx/pokemon/front/magnezone.pic" +MagnezonePicBack:: INCBIN "gfx/pokemon/back/magnezoneb.pic" +PorygonZPicFront:: INCBIN "gfx/pokemon/front/porygonz.pic" +PorygonZPicBack:: INCBIN "gfx/pokemon/back/porygonzb.pic" \ No newline at end of file diff --git a/gfx/pokemon/back/magnezoneb.png b/gfx/pokemon/back/magnezoneb.png new file mode 100644 index 00000000..45bf5d3a Binary files /dev/null and b/gfx/pokemon/back/magnezoneb.png differ diff --git a/gfx/pokemon/back/porygonzb.png b/gfx/pokemon/back/porygonzb.png new file mode 100644 index 00000000..1b082621 Binary files /dev/null and b/gfx/pokemon/back/porygonzb.png differ diff --git a/gfx/pokemon/front/magnezone.png b/gfx/pokemon/front/magnezone.png new file mode 100644 index 00000000..5d151b37 Binary files /dev/null and b/gfx/pokemon/front/magnezone.png differ diff --git a/gfx/pokemon/front/porygonz.png b/gfx/pokemon/front/porygonz.png new file mode 100644 index 00000000..7054db81 Binary files /dev/null and b/gfx/pokemon/front/porygonz.png differ