diff options
-rwxr-xr-x | constants/item_constants.asm | 1 | ||||
-rw-r--r-- | constants/pokedex_constants.asm | 3 | ||||
-rw-r--r-- | constants/pokemon_constants.asm | 2 | ||||
-rwxr-xr-x | data/baseStats/glaceon.asm | 28 | ||||
-rwxr-xr-x | data/base_stats.asm | 1 | ||||
-rwxr-xr-x | data/cries.asm | 2 | ||||
-rwxr-xr-x | data/evos_moves.asm | 11 | ||||
-rwxr-xr-x | data/item_prices.asm | 1 | ||||
-rwxr-xr-x | data/key_items.asm | 2 | ||||
-rwxr-xr-x | data/mon_palettes.asm | 1 | ||||
-rwxr-xr-x | data/mon_party_sprites.asm | 1 | ||||
-rwxr-xr-x | data/pokedex_entries.asm | 9 | ||||
-rwxr-xr-x | data/pokedex_order.asm | 2 | ||||
-rwxr-xr-x | engine/evos_moves.asm | 4 | ||||
-rwxr-xr-x | engine/items/items.asm | 15 | ||||
-rwxr-xr-x | engine/menu/party_menu.asm | 4 | ||||
-rwxr-xr-x | engine/menu/start_sub_menus.asm | 1 | ||||
-rwxr-xr-x | engine/save.asm | 4 | ||||
-rw-r--r-- | home.asm | 4 | ||||
-rwxr-xr-x | main.asm | 2 | ||||
-rwxr-xr-x | pic/bmon/glaceon.png | bin | 0 -> 441 bytes | |||
-rwxr-xr-x | pic/monback/glaceonb.png | bin | 0 -> 501 bytes | |||
-rwxr-xr-x | text/item_names.asm | 1 | ||||
-rwxr-xr-x | text/monster_names.asm | 2 | ||||
-rw-r--r-- | text/pokedex.asm | 10 | ||||
-rwxr-xr-x | wram.asm | 13 |
26 files changed, 107 insertions, 17 deletions
diff --git a/constants/item_constants.asm b/constants/item_constants.asm index fe6fcb15..08799908 100755 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -99,6 +99,7 @@ SAFARI_ROCK EQU $16 ; overload const FLOOR_10F ; $5F const FLOOR_11F ; $60 const FLOOR_B4F ; $61 + const ICE_STONE ; $62 const_value = $C4 diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index 8add08bc..2f229aa5 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -152,5 +152,6 @@ const_value = 1 const DEX_MEWTWO ; 150 const DEX_MEW ; 151 const DEX_LEAFEON ; 152 + const DEX_GLACEON ; 153 -NUM_POKEMON EQU 152 +NUM_POKEMON EQU 153 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 5958effa..ab5d9152 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -31,7 +31,7 @@ const_value = 1 const PINSIR ; $1D const TANGELA ; $1E const LEAFEON ; $1F - const MISSINGNO_20 ; $20 + const GLACEON ; $20 const GROWLITHE ; $21 const ONIX ; $22 const FEAROW ; $23 diff --git a/data/baseStats/glaceon.asm b/data/baseStats/glaceon.asm new file mode 100755 index 00000000..e61c1d60 --- /dev/null +++ b/data/baseStats/glaceon.asm @@ -0,0 +1,28 @@ +db DEX_GLACEON ; pokedex id +db 130 ; base hp +db 65 ; base attack +db 60 ; base defense +db 65 ; base speed +db 110 ; base special +db ICE ; species type 1 +db ICE ; species type 2 +db 45 ; catch rate +db 196 ; base exp yield +INCBIN "pic/bmon/glaceon.pic",0,1 ; 77, sprite dimensions +dw GlaceonPicFront +dw GlaceonPicBack +; attacks known at lvl 0 +db TACKLE +db SAND_ATTACK +db QUICK_ATTACK +db ICE_BEAM +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,39,40 + tmlearn 44 + tmlearn 50,53 +db 0 ; padding diff --git a/data/base_stats.asm b/data/base_stats.asm index f3774118..4ca36dd3 100755 --- a/data/base_stats.asm +++ b/data/base_stats.asm @@ -150,3 +150,4 @@ INCLUDE "data/baseStats/dragonite.asm" INCLUDE "data/baseStats/mewtwo.asm" INCLUDE "data/baseStats/mew.asm" INCLUDE "data/baseStats/leafeon.asm" +INCLUDE "data/baseStats/glaceon.asm" diff --git a/data/cries.asm b/data/cries.asm index 1a1e68fe..b048c002 100755 --- a/data/cries.asm +++ b/data/cries.asm @@ -31,7 +31,7 @@ CryData: db $14, $00, $80; Pinsir db $12, $00, $80; Tangela db $1A, $AA, $FF; Leafeon - db $00, $00, $00; MissingNo. + db $1A, $AA, $FF; Glaceon db $1F, $20, $40; Growlithe db $17, $FF, $C0; Onix db $18, $40, $A0; Fearow diff --git a/data/evos_moves.asm b/data/evos_moves.asm index 38f2e63d..ff3e86a4 100755 --- a/data/evos_moves.asm +++ b/data/evos_moves.asm @@ -30,7 +30,7 @@ EvosMovesPointerTable: dw Mon127_EvosMoves dw Mon114_EvosMoves dw Mon152_EvosMoves - dw Mon153_EvosMoves ;MissingNo + dw Mon153_EvosMoves dw Mon058_EvosMoves dw Mon095_EvosMoves dw Mon022_EvosMoves @@ -580,10 +580,16 @@ Mon152_EvosMoves: db 0 Mon153_EvosMoves: -;MISSINGNO +;GLACEON ;Evolutions db 0 ;Learnset + db 27,QUICK_ATTACK + db 31,AURORA_BEAM + db 37,TAIL_WHIP + db 40,BITE + db 48,MIST + db 54,BLIZZARD db 0 Mon058_EvosMoves: @@ -1348,6 +1354,7 @@ Mon040_EvosMoves: Mon133_EvosMoves: ;EEVEE ;Evolutions + db EV_ITEM,ICE_STONE,1,GLACEON db EV_ITEM,LEAF_STONE,1,LEAFEON db EV_ITEM,FIRE_STONE,1,FLAREON db EV_ITEM,THUNDER_STONE,1,JOLTEON diff --git a/data/item_prices.asm b/data/item_prices.asm index 15a1bd34..4198ccff 100755 --- a/data/item_prices.asm +++ b/data/item_prices.asm @@ -96,3 +96,4 @@ ItemPrices: money 0 ; FLOOR_10F money 0 ; FLOOR_11F money 0 ; FLOOR_B4F + money 2100 ; ICE_STONE diff --git a/data/key_items.asm b/data/key_items.asm index afa586af..8e1c89f7 100755 --- a/data/key_items.asm +++ b/data/key_items.asm @@ -10,3 +10,5 @@ KeyItemBitfield: db %11110000 db %00111011 db %00000000 + db %00000000 + db %00000000 diff --git a/data/mon_palettes.asm b/data/mon_palettes.asm index 7bbea1fd..31fbf81c 100755 --- a/data/mon_palettes.asm +++ b/data/mon_palettes.asm @@ -152,3 +152,4 @@ MonsterPalettes: db PAL_MEWMON ; MEWTWO db PAL_MEWMON ; MEW db PAL_GREENMON ; LEAFEON + db PAL_CYANMON ; GLACEON diff --git a/data/mon_party_sprites.asm b/data/mon_party_sprites.asm index 1535d25a..76ccaecd 100755 --- a/data/mon_party_sprites.asm +++ b/data/mon_party_sprites.asm @@ -75,3 +75,4 @@ MonPartyData: dn SPRITE_SNAKE, SPRITE_SNAKE ;Dratini/Dragonair dn SPRITE_SNAKE, SPRITE_MON ;Dragonite/Mewtwo dn SPRITE_MON, SPRITE_QUADRUPED ;Mew/Leafeon + dn SPRITE_QUADRUPED, 0 ;Glaceon/Padding diff --git a/data/pokedex_entries.asm b/data/pokedex_entries.asm index 3af53f3a..98a9bb2e 100755 --- a/data/pokedex_entries.asm +++ b/data/pokedex_entries.asm @@ -30,7 +30,7 @@ PokedexEntryPointers: dw PinsirDexEntry dw TangelaDexEntry dw LeafeonDexEntry - dw MissingNoDexEntry + dw GlaceonDexEntry dw GrowlitheDexEntry dw OnixDexEntry dw FearowDexEntry @@ -412,6 +412,13 @@ LeafeonDexEntry: TX_FAR _LeafeonDexEntry db "@" +GlaceonDexEntry: + db "ICE@" + db 3,3 + dw 640 + TX_FAR _GlaceonDexEntry + db "@" + GrowlitheDexEntry: db "PUPPY@" db 2,4 diff --git a/data/pokedex_order.asm b/data/pokedex_order.asm index 79cd933e..dc4d36eb 100755 --- a/data/pokedex_order.asm +++ b/data/pokedex_order.asm @@ -30,7 +30,7 @@ PokedexOrder: db DEX_PINSIR db DEX_TANGELA db DEX_LEAFEON - db 0 ; MISSINGNO. + db DEX_GLACEON db DEX_GROWLITHE db DEX_ONIX db DEX_FEAROW diff --git a/engine/evos_moves.asm b/engine/evos_moves.asm index f50f8081..27526bd1 100755 --- a/engine/evos_moves.asm +++ b/engine/evos_moves.asm @@ -207,7 +207,11 @@ Evolution_PartyMonLoop: ; loop over party mons ld [wd11e], a xor a ld [wMonDataLocation], a + ld a, [wcf91] + push af call LearnMoveFromLevelUp + pop af + ld [wcf91], a pop hl predef SetPartyMonTypes ld a, [wIsInBattle] diff --git a/engine/items/items.asm b/engine/items/items.asm index f8873a6e..95fea960 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -99,6 +99,21 @@ ItemUsePtrTable: dw ItemUsePPRestore ; MAX_ETHER dw ItemUsePPRestore ; ELIXER dw ItemUsePPRestore ; MAX_ELIXER + dw UnusableItem ; FLOOR_B2F + dw UnusableItem ; FLOOR_B1F + dw UnusableItem ; FLOOR_1F + dw UnusableItem ; FLOOR_2F + dw UnusableItem ; FLOOR_3F + dw UnusableItem ; FLOOR_4F + dw UnusableItem ; FLOOR_5F + dw UnusableItem ; FLOOR_6F + dw UnusableItem ; FLOOR_7F + dw UnusableItem ; FLOOR_8F + dw UnusableItem ; FLOOR_9F + dw UnusableItem ; FLOOR_10F + dw UnusableItem ; FLOOR_11F + dw UnusableItem ; FLOOR_B4F + dw ItemUseEvoStone ; ICE_STONE ItemUseBall: diff --git a/engine/menu/party_menu.asm b/engine/menu/party_menu.asm index a35524ed..5988f7e5 100755 --- a/engine/menu/party_menu.asm +++ b/engine/menu/party_menu.asm @@ -148,11 +148,11 @@ RedrawPartyMenu_: ld a,[hli] ld h,[hl] ld l,a - ld de,wcd6d + ld de,wEvolutionData ld a,BANK(EvosMovesPointerTable) ld bc,Mon133_EvosEnd - Mon133_EvosMoves call FarCopyData - ld hl,wcd6d + ld hl,wEvolutionData ld de,.notAbleToEvolveText ; loop through the pokemon's evolution entries .checkEvolutionsLoop diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm index 251d7ae4..d3baeb0e 100755 --- a/engine/menu/start_sub_menus.asm +++ b/engine/menu/start_sub_menus.asm @@ -484,6 +484,7 @@ UsableItems_PartyMenu: db MAX_ETHER db ELIXER db MAX_ELIXER + db ICE_STONE db $ff ; items which close the item menu when used diff --git a/engine/save.asm b/engine/save.asm index 4fb2c4c8..59f81db7 100755 --- a/engine/save.asm +++ b/engine/save.asm @@ -117,7 +117,7 @@ LoadSAV2: call CopyData ld hl, sMainData ld de, wPokedexOwned - ld bc, wPokedexSeenEnd - wPokedexOwned + ld bc, wPokedexSeenEndOld - wPokedexOwned call CopyData and a jp SAVGoodChecksum @@ -260,7 +260,7 @@ SaveSAVtoSRAM2: call CopyData ld hl, wPokedexOwned ; pokédex only ld de, sMainData - ld bc, wPokedexSeenEnd - wPokedexOwned + ld bc, wPokedexSeenEndOld - wPokedexOwned call CopyData ld hl, sPlayerName ld bc, sMainDataCheckSum - sPlayerName @@ -740,6 +740,10 @@ UncompressMonSprite:: ld a,BANK(LeafeonPicFront) jr z,.GotBank ld a,b + cp GLACEON + ld a,BANK(GlaceonPicFront) + jr z,.GotBank + ld a,b cp FOSSIL_KABUTOPS ld a,BANK(FossilKabutopsPic) jr z,.GotBank @@ -6717,3 +6717,5 @@ SECTION "Pics 6", ROMX, BANK[PICS_6] LeafeonPicFront:: INCBIN "pic/bmon/leafeon.pic" LeafeonPicBack:: INCBIN "pic/monback/leafeonb.pic" +GlaceonPicFront:: INCBIN "pic/bmon/glaceon.pic" +GlaceonPicBack:: INCBIN "pic/monback/glaceonb.pic" diff --git a/pic/bmon/glaceon.png b/pic/bmon/glaceon.png Binary files differnew file mode 100755 index 00000000..c81ebeea --- /dev/null +++ b/pic/bmon/glaceon.png diff --git a/pic/monback/glaceonb.png b/pic/monback/glaceonb.png Binary files differnew file mode 100755 index 00000000..35fa1857 --- /dev/null +++ b/pic/monback/glaceonb.png diff --git a/text/item_names.asm b/text/item_names.asm index e436d74d..f20c8b8c 100755 --- a/text/item_names.asm +++ b/text/item_names.asm @@ -96,3 +96,4 @@ ItemNames: db "10F@" db "11F@" db "B4F@" + db "ICE STONE@" diff --git a/text/monster_names.asm b/text/monster_names.asm index dcb96e5f..dc8d2395 100755 --- a/text/monster_names.asm +++ b/text/monster_names.asm @@ -30,7 +30,7 @@ MonsterNames: db "PINSIR@@@@" db "TANGELA@@@" db "LEAFEON@@@" - db "MISSINGNO." + db "GLACEON@@@" db "GROWLITHE@" db "ONIX@@@@@@" db "FEAROW@@@@" diff --git a/text/pokedex.asm b/text/pokedex.asm index a777b9d8..3598f785 100644 --- a/text/pokedex.asm +++ b/text/pokedex.asm @@ -308,6 +308,16 @@ _LeafeonDexEntry:: next "just like a plant" dex +_GlaceonDexEntry:: + text "The Fresh Snow" + next "#MON. It can" + next "freeze the fur on" + + page "its body, and make" + next "it stick out like" + next "sharp needles" + dex + _GrowlitheDexEntry:: text "Very protective" next "of its territory." @@ -2341,10 +2341,8 @@ wPokedexOwned:: ; d2f7 flag_array NUM_POKEMON wPokedexOwnedEnd:: -wPokedexSeen:: ; d30a - flag_array NUM_POKEMON -wPokedexSeenEnd:: - + ds 152 / 8 * 2 - (wPokedexOwnedEnd - wPokedexOwned) +wPokedexSeenEndOld:: wNumBagItems:: ; d31d ds 1 @@ -2574,7 +2572,11 @@ wDestinationWarpID:: ; d42f ; if $ff, the player's coordinates are not updated when entering the map ds 1 - ds 128 +wPokedexSeen:: + flag_array NUM_POKEMON +wPokedexSeenEnd:: + + ds 128 - (wPokedexSeenEnd - wPokedexSeen) wNumSigns:: ; d4b0 ; number of signs in the current map (up to 16) @@ -2914,6 +2916,7 @@ wRoute18GateCurScript:: ; d669 ds 78 wGameProgressFlagsEnd:: +wEvolutionData:: ds 56 wObtainedHiddenItemsFlags:: |