diff --git a/README.md b/README.md index 38b7f20c..92ef1441 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ New areas ==== - Celadon University is just north of Celadon. - This is a reference to a Magikarp event from July 1998, and includes the lore from it and other areas of Pokemon's early worldbuilding. - - New infinitely re-battleable trainers are accessible. + - New infinitely re-battleable trainers for grinding. - There's a Move Deleter and Move Relearner! - Citrine City is a new island city that can be accessed in the postgame. - Underwater Tunnel connects Route 25 and Route 10. @@ -61,13 +61,13 @@ New areas Improved areas ==== - Most barriers to travel across the region have been removed, allowing for almost fully open world gameplay. To encourage this, Gym Leaders now have level scaling, giving more consistent challenge across the game. +- Cinnabar Lab's Trade Room now features the Trader, who will evolve trade-evolving Pokemon for you! - Rock Tunnel has a more workable map, now being easier to go through and having new areas to explore. Includes a way to get renewable fossils, items, and other interesting bits and pieces. Overall, it makes Flash much more rewarding to bring, showing you where the items and content are instead of being an inconvenience. - Diglett's Cave has a more detailed map with Onix, Wiglett, and Wugtrio also appearing! - Route 25 has been given a facelift, adding Bill's Lighthouse! - The Route 5-6 underground path contains a shortcut to Celadon City. - This allows you to skip Route 9 and Rock Tunnel, making them optional areas and opening up central Kanto. - Cinnabar Island is a lot bigger, and has a new location added to it. The mansion seems different too... -- Cinnabar Lab's trade room features an NPC who'll trade you back your Pokemon for trade evolutions! - Pokemon Tower was shortened, being less intensive and adding room for more maps. - Silph Co's pathing was completely overhauled to make navigating it less tedious. - Viridian Gym now has a new area once you make Giovanni leave. @@ -98,7 +98,7 @@ QoL Enhancements - HM02 (Fly) can be taught to the Pikachu line (Corocoro) - HM03 (Surf) can be taught to the Pikachu line (Stadium / Corocoro) - Psyduck learns Amnesia at Lv15 (Stadium) -- Yellow learnset changes are imported; eg. Flash Venonat +- Yellow learnset changes are imported; eg. Flash Venonat, with tweaks made to ensure nothing is lost from RB either. - The Game Corner in general is massively buffed, making everything far more worth going for; - 3x Cherry now gives 100 coins (used to be 8) - 3x Magikarp/Poliwag/Bird/Diglett/Rattata/Jigglypuff now gives 200 coins (used to be 15) @@ -110,7 +110,6 @@ QoL Enhancements - The Moon Stone is available over TM23 (Dragon Rage). Dragon Rage is accessible in Celadon University! - Bag capacity increased from 20 to 30 items. - Spinner tiles move faster. -- If a move is disabled, it now has an upper-case D instead of a lower-case one. Bug Fixes ==== @@ -148,6 +147,7 @@ and more! - Trainer Name Pointers are removed, as the localised games don't need to use the file at all. - Dakutens are removed, as the Japanese accents aren't used in English releases. - Blank Leader Name code is removed; before, this would only be for the PNGs. +- Some grammar tweaks have been made (eg. If a move is disabled, it now has an upper-case D instead of a lower-case one.) Known Bugs ==== @@ -158,7 +158,7 @@ Known Bugs - Fix warps from Viridian Pre-Gym, currently goes to Fuschia which is hilarious. - Mew needs to disappear after being captured etc (only seems to happen sometimes?) - Should be able to fly from Faraway (reposition in map listing) -- Item descriptions are offset +- Item descriptions are offset by a bit - Strength boulders don't fall down holes - Pokedex is very laggy @@ -187,7 +187,7 @@ New Pokemon: - Primeape -> Annihilape | Trade - Golbat -> Crobat | L44 - Marowak -> Guardia | Use Heart Stone -- Porygon -> Porygon2 | Trade +- Porygon -> Porygon2 | Use Up-Grade - Porygon2 -> Porygon-Z | Use Dubious Disc - Gloom -> Bellossom | Use Poison Stone - Weepinbell -> Tsubomitto | Use Poison Stone diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 09c9c5a6..a2674e1f 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -92,31 +92,31 @@ DEF SAFARI_ROCK EQU $16 ; overload const MAX_ETHER ; $51 const ELIXER ; $52 const MAX_ELIXER ; $53 + const ICE_STONE ; $54 + const PROTECTOR ; $55 + const POISON_STONE ; $56 + const BLK_AUGURITE ; $57 + const DUBIOUS_DISC ; $58 + const CITRINE_PASS ; $59 + const OLD_SEA_MAP ; $60 + const UP_GRADE ; $61 DEF NUM_ITEMS EQU const_value - 1 ; elevator floors use item IDs - const FLOOR_B2F ; $54 - const FLOOR_B1F ; $55 - const FLOOR_1F ; $56 - const FLOOR_2F ; $57 - const FLOOR_3F ; $58 - const FLOOR_4F ; $59 - const FLOOR_5F ; $5A - const FLOOR_6F ; $5B - const FLOOR_7F ; $5C - const FLOOR_8F ; $5D - const FLOOR_9F ; $5E - const FLOOR_10F ; $5F - const FLOOR_11F ; $60 - const FLOOR_B4F ; $61 - const ICE_STONE ; $62 - const PROTECTOR ; $63 - const POISON_STONE ; $64 - const BLK_AUGURITE ; $65 - const DUBIOUS_DISC ; $66 - const CITRINE_PASS ; $67 - const OLDSEACHART ; $68 - const UP_GRADE ; $69 + const FLOOR_B2F ; $62 + const FLOOR_B1F ; $63 + const FLOOR_1F ; $64 + const FLOOR_2F ; $65 + const FLOOR_3F ; $66 + const FLOOR_4F ; $67 + const FLOOR_5F ; $68 + const FLOOR_6F ; $69 + const FLOOR_7F ; $70 + const FLOOR_8F ; $71 + const FLOOR_9F ; $72 + const FLOOR_10F ; $73 + const FLOOR_11F ; $74 + const FLOOR_B4F ; $75 DEF NUM_FLOORS EQU const_value - 1 - NUM_ITEMS const_next $C4 diff --git a/data/items/key_items.asm b/data/items/key_items.asm index 8d5f8ae6..c2b879ce 100644 --- a/data/items/key_items.asm +++ b/data/items/key_items.asm @@ -83,6 +83,14 @@ KeyItemFlags: dbit FALSE ; MAX_ETHER dbit FALSE ; ELIXER dbit FALSE ; MAX_ELIXER + dbit FALSE ; ICE_STONE + dbit FALSE ; PROTECTOR + dbit FALSE ; POISON_STONE + dbit FALSE ; BLK_AUGURITE + dbit FALSE ; DUBIOUS_DISC + dbit TRUE ; CITRINE_PASS + dbit TRUE ; OLD_SEA_MAP + dbit FALSE ; UP_GRADE dbit TRUE ; FLOOR_B2F dbit TRUE ; FLOOR_B1F dbit TRUE ; FLOOR_1F @@ -97,12 +105,4 @@ KeyItemFlags: dbit TRUE ; FLOOR_10F dbit TRUE ; FLOOR_11F dbit TRUE ; FLOOR_B4F - dbit FALSE ; ICE_STONE - dbit FALSE ; PROTECTOR - dbit FALSE ; POISON_STONE - dbit FALSE ; BLK_AUGURITE - dbit FALSE ; DUBIOUS_DISC - dbit TRUE ; CITRINE_PASS - dbit TRUE ; OLDSEACHART - dbit FALSE ; UP_GRADE end_bit_array NUM_ITEMS + NUM_FLOORS diff --git a/data/items/names.asm b/data/items/names.asm index d2542e20..c2254c20 100644 --- a/data/items/names.asm +++ b/data/items/names.asm @@ -83,6 +83,14 @@ ItemNames:: li "MAX ETHER" li "ELIXER" li "MAX ELIXER" + li "ICE STONE" + li "PROTECTOR" + li "POISON STONE" + li "BLK AUGURITE" + li "DUBIOUS DISC" + li "CITRINE PASS" + li "OLD SEA MAP" + li "UP-GRADE" assert_list_length NUM_ITEMS li "B2F" li "B1F" @@ -98,12 +106,4 @@ ItemNames:: li "10F" li "11F" li "B4F" - li "ICE STONE" - li "PROTECTOR" - li "POISON STONE" - li "BLK AUGURITE" - li "DUBIOUS DISC" - li "CITRINE PASS" - li "OLDSEACHART" - li "UP-GRADE" assert_list_length NUM_ITEMS + NUM_FLOORS diff --git a/data/items/prices.asm b/data/items/prices.asm index b700c176..bc3865fb 100644 --- a/data/items/prices.asm +++ b/data/items/prices.asm @@ -83,6 +83,14 @@ ItemPrices:: bcd3 0 ; MAX_ETHER bcd3 0 ; ELIXER bcd3 0 ; MAX_ELIXER + bcd3 2100 ; ICE_STONE + bcd3 3000 ; PROTECTOR + bcd3 2100 ; POISON_STONE + bcd3 2100 ; BLK_AUGURITE + bcd3 3000 ; DUBIOUS_DISC + bcd3 0 ; CITRINE_PASS + bcd3 0 ; OLD_SEA_MAP + bcd3 3000 ; UP_GRADE assert_table_length NUM_ITEMS bcd3 0 ; FLOOR_B2F bcd3 0 ; FLOOR_B1F @@ -98,12 +106,4 @@ ItemPrices:: bcd3 0 ; FLOOR_10F bcd3 0 ; FLOOR_11F bcd3 0 ; FLOOR_B4F - bcd3 2100 ; ICE_STONE - bcd3 3000 ; PROTECTOR - bcd3 2100 ; POISON_STONE - bcd3 2100 ; BLK_AUGURITE - bcd3 3000 ; DUBIOUS_DISC - bcd3 0 ; CITRINE_PASS - bcd3 0 ; OLDSEACHART - bcd3 3000 ; UP_GRADE assert_table_length NUM_ITEMS + NUM_FLOORS diff --git a/data/maps/objects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm index 1d2bb954..87184755 100644 --- a/data/maps/objects/VermilionDock.asm +++ b/data/maps/objects/VermilionDock.asm @@ -8,6 +8,6 @@ VermilionDock_Object: def_bg_events def_object_events - object_event 22, 0, SPRITE_POKE_BALL, STAY, NONE, 2, OLDSEACHART + object_event 22, 0, SPRITE_POKE_BALL, STAY, NONE, 2, OLD_SEA_MAP def_warps_to VERMILION_DOCK diff --git a/data/text/item_descriptions.asm b/data/text/item_descriptions.asm index f63c03c2..005daba9 100644 --- a/data/text/item_descriptions.asm +++ b/data/text/item_descriptions.asm @@ -342,7 +342,7 @@ _CitrinePassDescription:: next "CITRINE CITY." prompt -_OldSeaChartDescription:: +_OldSeaMapDescription:: text "A sea chart for" next "certain island." prompt diff --git a/engine/debug/debug_party.asm b/engine/debug/debug_party.asm index dff0f7cb..5a84c9aa 100644 --- a/engine/debug/debug_party.asm +++ b/engine/debug/debug_party.asm @@ -21,10 +21,10 @@ SetIshiharaTeam: jr .loop IshiharaTeam: - db EXEGGUTOR, 90 + db EXEGGUTOR_A, 90 db RAICHU, 90 - db EXEGGUTOR, 90 - db RAPIDASH, 50 + db MEWTWO, 90 + db PORYGON, 50 IF DEF(_DEBUG) db NINETALES, 50 db DUGTRIO, 50 @@ -143,7 +143,6 @@ DebugItemsList: db RARE_CANDY, 99 db MASTER_BALL, 99 db ULTRA_BALL, 99 - db CANDY_JAR, 99 db SECRET_KEY, 1 db CARD_KEY, 1 db S_S_TICKET, 1 @@ -152,7 +151,11 @@ DebugItemsList: db COIN_CASE, 1 db POKE_FLUTE, 1 db SILPH_SCOPE, 1 - db OLDSEACHART, 1 + db OLD_SEA_MAP, 1 + db UP_GRADE, 1 + db TM_MEGA_PUNCH, 1 + db HM_SURF, 1 + db FLOOR_1F db -1 ; end DebugUnusedList: diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index a16d4410..14008cdc 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -100,6 +100,14 @@ ItemUsePtrTable: dw ItemUsePPRestore ; MAX_ETHER dw ItemUsePPRestore ; ELIXER dw ItemUsePPRestore ; MAX_ELIXER + dw ItemUseEvoStone ; ICE_STONE + dw ItemUseEvoStone ; PROTECTOR + dw ItemUseEvoStone ; POISON_STONE + dw ItemUseEvoStone ; BLK_AUGURITE + dw ItemUseEvoStone ; DUBIOUS_DISC + dw UnusableItem ; CITRINE_PASS + dw UnusableItem ; OLDSEACHART + dw ItemUseEvoStone ; UP_GRADE dw UnusableItem ; FLOOR_B2F dw UnusableItem ; FLOOR_B1F dw UnusableItem ; FLOOR_1F @@ -114,14 +122,6 @@ ItemUsePtrTable: dw UnusableItem ; FLOOR_10F dw UnusableItem ; FLOOR_11F dw UnusableItem ; FLOOR_14F - dw ItemUseEvoStone ; ICE_STONE - dw ItemUseEvoStone ; PROTECTOR - dw ItemUseEvoStone ; POISON_STONE - dw ItemUseEvoStone ; BLK_AUGURITE - dw ItemUseEvoStone ; DUBIOUS_DISC - dw UnusableItem ; CITRINE_PASS - dw UnusableItem ; OLDSEACHART - dw ItemUseEvoStone ; UP_GRADE ItemUseBall: diff --git a/engine/menus/item_descriptions.asm b/engine/menus/item_descriptions.asm index f09d8e6e..259cac9e 100644 --- a/engine/menus/item_descriptions.asm +++ b/engine/menus/item_descriptions.asm @@ -180,34 +180,6 @@ ItemDescriptionPointers: text_end text_far _MaxElixerDescription text_end - text_far _UnusedItemDescription ; for the floor items - we've added items after these, so we need to stuff them in lest TM descriptions invade our personal space. - text_end - text_far _UnusedItemDescription - text_end - text_far _UnusedItemDescription - text_end - text_far _UnusedItemDescription - text_end - text_far _UnusedItemDescription - text_end - text_far _UnusedItemDescription - text_end - text_far _UnusedItemDescription - text_end - text_far _UnusedItemDescription - text_end - text_far _UnusedItemDescription - text_end - text_far _UnusedItemDescription - text_end - text_far _UnusedItemDescription - text_end - text_far _UnusedItemDescription - text_end - text_far _UnusedItemDescription - text_end - text_far _UnusedItemDescription - text_end ; floor items end here text_far _IceStoneDescription text_end text_far _ProtectorDescription @@ -220,7 +192,9 @@ ItemDescriptionPointers: text_end text_far _CitrinePassDescription text_end - text_far _OldSeaChartDescription + text_far _OldSeaMapDescription + text_end + text_far _UpGradeDescription text_end text_far _HM01Description text_end