From c356ee81f58655edfcf1db54d13f2a311a8546dd Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sun, 18 Jun 2023 09:12:42 +0100 Subject: [PATCH] Saffron Guards are now British They desire the caffeine... Mt. Moon Square no longer breaks game balance. --- README.md | 2 ++ constants/event_constants.asm | 4 +-- constants/item_constants.asm | 1 + data/items/guard_drink_items.asm | 4 +-- data/items/key_items.asm | 1 + data/items/names.asm | 1 + data/items/prices.asm | 1 + data/text/item_descriptions.asm | 5 +++ engine/items/item_effects.asm | 1 + engine/menus/item_descriptions.asm | 2 ++ scripts/CeladonMansion1F.asm | 49 +++++++++++++++++++++++++++++ scripts/SafariZoneEastRestHouse.asm | 2 ++ text/CeladonMansion1F.asm | 27 ++++++++++++++++ text/SaffronGates.asm | 6 ++-- 14 files changed, 98 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e7622589..5fe360c0 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,8 @@ There are some new items here, with the aim of accomodating new Pokemon, adding - The Old Sea Map has been added, giving access to Faraway Island and Mew. - The Citrine Pass has been added, allowing access to a new post-game area based on the unused "C" map. - The Wing Fossil is a new item that allows Aerodactyl to be revived, as the Old Amber is instead used for Decilla. +- The Tea from FireRed/LeafGreen and Let's Go Pikachu/Eevee is added, allowing Saffron access for free. The guards now imply they want a cup of tea. + - This also accomodates Mt. Moon Square's shop, which would otherwise break progression. New Areas ==== diff --git a/constants/event_constants.asm b/constants/event_constants.asm index e830cd9d..b05e95ee 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -170,7 +170,8 @@ ; Celadon City events const_next $180 const EVENT_GOT_TM41 - const_skip 11 + const EVENT_GOT_TEA + const_skip 10 const EVENT_GOT_TM13 const EVENT_GOT_TM48 const EVENT_GOT_TM49 @@ -191,7 +192,6 @@ const EVENT_GOT_10_COINS const EVENT_GOT_20_COINS const EVENT_GOT_20_COINS_2 - ;const_skip 2 const EVENT_GOT_TM23 const EVENT_1BF ; ??? const_skip 32 diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 05b2603d..38d5a54e 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -102,6 +102,7 @@ DEF SAFARI_ROCK EQU $16 ; overload const UP_GRADE ; $5B const METAL_COAT ; $5C const MYSTERY_BOX ; $5D + const TEA ; $5E DEF NUM_ITEMS EQU const_value - 1 ; elevator floors use item IDs diff --git a/data/items/guard_drink_items.asm b/data/items/guard_drink_items.asm index e76d1f77..7bdf1bb3 100644 --- a/data/items/guard_drink_items.asm +++ b/data/items/guard_drink_items.asm @@ -1,5 +1,3 @@ GuardDrinksList: - db FRESH_WATER - db SODA_POP - db LEMONADE + db TEA db 0 ; end diff --git a/data/items/key_items.asm b/data/items/key_items.asm index 773db5b4..f879bf6a 100644 --- a/data/items/key_items.asm +++ b/data/items/key_items.asm @@ -93,6 +93,7 @@ KeyItemFlags: dbit FALSE ; UP_GRADE dbit FALSE ; METAL_COAT dbit TRUE ; MYSTERY_BOX + dbit TRUE ; TEA dbit TRUE ; FLOOR_B2F dbit TRUE ; FLOOR_B1F dbit TRUE ; FLOOR_1F diff --git a/data/items/names.asm b/data/items/names.asm index f757bed2..598cf42a 100644 --- a/data/items/names.asm +++ b/data/items/names.asm @@ -93,6 +93,7 @@ ItemNames:: li "UP-GRADE" li "METAL COAT" li "MYSTERY BOX" + li "TEA" assert_list_length NUM_ITEMS li "B2F" li "B1F" diff --git a/data/items/prices.asm b/data/items/prices.asm index 4d3bc649..d578b316 100644 --- a/data/items/prices.asm +++ b/data/items/prices.asm @@ -93,6 +93,7 @@ ItemPrices:: bcd3 3000 ; UP_GRADE bcd3 3000 ; METAL_COAT bcd3 0 ; MYSTERY_BOX + bcd3 0 ; TEA assert_table_length NUM_ITEMS bcd3 0 ; FLOOR_B2F bcd3 0 ; FLOOR_B1F diff --git a/data/text/item_descriptions.asm b/data/text/item_descriptions.asm index f33c2f5f..cd7e05b8 100644 --- a/data/text/item_descriptions.asm +++ b/data/text/item_descriptions.asm @@ -353,6 +353,11 @@ _MysteryBoxDescription:: ; GO Description: A mysterious old box. Opening it caus next "box." prompt +_TeaDescription:: + text "A hot drink for" + next "quenching thirst." + prompt + _HM01Description:: text "Cuts using claws," next "scythes, etc." diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 3055c283..4ff86351 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -110,6 +110,7 @@ ItemUsePtrTable: dw ItemUseEvoStone ; UP_GRADE dw ItemUseEvoStone ; METAL_COAT dw ItemUseMysteryBox ; MYSTERY_BOX + dw UnusableItem ; TEA dw UnusableItem ; FLOOR_B2F dw UnusableItem ; FLOOR_B1F dw UnusableItem ; FLOOR_1F diff --git a/engine/menus/item_descriptions.asm b/engine/menus/item_descriptions.asm index 71d8cf13..4ff93221 100644 --- a/engine/menus/item_descriptions.asm +++ b/engine/menus/item_descriptions.asm @@ -200,6 +200,8 @@ ItemDescriptionPointers: text_end text_far _MysteryBoxDescription text_end + text_far _TeaDescription + text_end text_far _HM01Description text_end text_far _HM02Description diff --git a/scripts/CeladonMansion1F.asm b/scripts/CeladonMansion1F.asm index 5609da70..b0a8b36a 100644 --- a/scripts/CeladonMansion1F.asm +++ b/scripts/CeladonMansion1F.asm @@ -19,6 +19,55 @@ CeladonMansion1Text1: jp CeladonMansion1_PlayCryScript CeladonMansion1Text2: + text_asm + CheckEvent EVENT_GOT_TEA + jr nz, .usual + ld hl, CeladonMansionHasTea + call PrintText + lb bc, TEA, 1 + call GiveItem + jr nc, .bag_full + ld hl, ReceivedTeaText + call PrintText + ld a, SFX_GET_ITEM_1 + call PlaySound + SetEvent EVENT_GOT_TEA + jr .done +.bag_full + ld hl, CeladonMansionTeaNoRoom + jr .efficientPrint +.got_item + ld hl, CeladonMansionTeaExplanation + jr .efficientPrint +.usual + ld hl, OldCeladonMansion1Text2 + ; fallthrough +.efficientPrint + call PrintText +.done + jp TextScriptEnd + +CeladonMansionHasTea: + text_far _CeladonMansionHasTea + text_end + +CeladonMansionNoTea: + text_far _CeladonMansion1Text2 + text_end + +CeladonMansionTeaNoRoom: + text_far _CeladonMansionTeaNoRoom + text_end + +CeladonMansionTeaExplanation: + text_far _CeladonMansionTeaExplanation + text_end + +ReceivedTeaText: + text_far _ReceivedTeaText + text_end + +OldCeladonMansion1Text2: text_far _CeladonMansion1Text2 text_end diff --git a/scripts/SafariZoneEastRestHouse.asm b/scripts/SafariZoneEastRestHouse.asm index ea30f6cb..7ff8f93f 100644 --- a/scripts/SafariZoneEastRestHouse.asm +++ b/scripts/SafariZoneEastRestHouse.asm @@ -34,6 +34,8 @@ SafariZoneRestHouse3Meltan: jr nc, .bag_full ld hl, ReceivedBoxText call PrintText + ld a, SFX_GET_ITEM_1 + call PlaySound SetEvent EVENT_GOT_MELTAN jr .done .bag_full diff --git a/text/CeladonMansion1F.asm b/text/CeladonMansion1F.asm index 14a48a81..a1a67159 100644 --- a/text/CeladonMansion1F.asm +++ b/text/CeladonMansion1F.asm @@ -24,3 +24,30 @@ _CeladonMansion1Text5:: text "CELADON MANSION" line "Manager's Suite" done + +_CeladonMansionHasTea:: + text "You shouldn't" + line "spend all your" + cont "money on drinks." + para "Try this instead." + prompt + +_CeladonMansionTeaExplanation:: + text "Nothing beats" + line "thirst like some" + cont "hot TEA." + para "It truly is the" + line "best!" + done + +_CeladonMansionTeaNoRoom:: + text "Your BAG is full," + line "child!" + done + +_ReceivedTeaText:: + text " received" + line "@" + text_ram wStringBuffer + text "!@" + text_end diff --git a/text/SaffronGates.asm b/text/SaffronGates.asm index b208fa24..7ec23540 100644 --- a/text/SaffronGates.asm +++ b/text/SaffronGates.asm @@ -1,7 +1,7 @@ _SaffronGateText_1dfe7:: text "I'm on guard duty." - line "Gee, I'm thirsty," - cont "though!" + line "Gee, I could use" + cont "a cuppa though!" para "Oh wait there," line "the road's closed." @@ -34,5 +34,5 @@ _SaffronGateText_1dff1:: _SaffronGateText_1dff6:: text "Hi, thanks for" - line "the cool drinks!" + line "the TEA!" done