diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm index 002be2f..3d1cd4e 100644 --- a/constants/engine_flags.asm +++ b/constants/engine_flags.asm @@ -14,8 +14,8 @@ ; wMomSavingMoney const ENGINE_MOM_SAVING_MONEY const ENGINE_MOM_ACTIVE -; wUnusedTwoDayTimerOn - const ENGINE_UNUSED_TWO_DAY_TIMER_ON +; wSweetHoneyEnabled + const ENGINE_SWEET_HONEY ; wStatusFlags const ENGINE_POKEDEX const ENGINE_UNOWN_DEX diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 4a5d24c..b1c7712 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -105,7 +105,7 @@ const WHT_APRICORN ; 61 const BLACKBELT_I ; 62 const BLK_APRICORN ; 63 - const ITEM_64 ; 64 + const HONEY_POT ; 64 const PNK_APRICORN ; 65 const BLACKGLASSES ; 66 const SLOWPOKETAIL ; 67 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 52edaee..15a8f02 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -191,6 +191,7 @@ DEF NUM_ROAMMON_MAPS EQU 16 ; RoamMaps table size (see data/wild/roammon_maps.as const TREEMON_SET_ROCK_ICE const TREEMON_SET_ROCK_SQUARE const TREEMON_SET_ROCK_WELL + const TREEMON_SET_SWEET_HONEY DEF NUM_TREEMON_SETS EQU const_value ; treemon scores diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index e36def0..355a612 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -212,6 +212,9 @@ DEF MOM_ACTIVE_F EQU 7 DEF MOM_SAVING_MONEY_MASK EQU (1 << MOM_SAVING_SOME_MONEY_F) | (1 << MOM_SAVING_HALF_MONEY_F) | (1 << MOM_SAVING_ALL_MONEY_F) +; wSweetHoneyEnabled +SWEET_HONEY_F EQU 0 + ; wJohtoBadges:: const_def const ZEPHYRBADGE diff --git a/data/events/engine_flags.asm b/data/events/engine_flags.asm index c9fc0a6..63d5277 100644 --- a/data/events/engine_flags.asm +++ b/data/events/engine_flags.asm @@ -23,7 +23,7 @@ EngineFlags: engine_flag wMomSavingMoney, MOM_SAVING_SOME_MONEY_F engine_flag wMomSavingMoney, MOM_ACTIVE_F - engine_flag wUnusedTwoDayTimerOn, 0 ; unused, possibly related to a 2-day timer + engine_flag wSweetHoneyEnabled, SWEET_HONEY_F ; unused, possibly related to a 2-day timer engine_flag wStatusFlags, STATUSFLAGS_POKEDEX_F engine_flag wStatusFlags, STATUSFLAGS_UNOWN_DEX_F diff --git a/data/events/special_pointers.asm b/data/events/special_pointers.asm index 1580cfa..069a5cf 100644 --- a/data/events/special_pointers.asm +++ b/data/events/special_pointers.asm @@ -79,7 +79,7 @@ SpecialsPointers:: add_special FindPartyMonAtLeastThatHappy ; unused add_special FindPartyMonThatSpecies add_special FindPartyMonThatSpeciesYourTrainerID - add_special UnusedCheckUnusedTwoDayTimer ; unused + add_special CheckSweetHoneyTimer ; unused add_special DayCareMon1 add_special DayCareMon2 add_special SelectRandomBugContestContestants diff --git a/data/items/attributes.asm b/data/items/attributes.asm index 3569a63..b71eda9 100644 --- a/data/items/attributes.asm +++ b/data/items/attributes.asm @@ -206,8 +206,8 @@ ItemAttributes: 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 -; ITEM_64 - item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; HONEY_POT, was ITEM_64 + item_attribute 20000, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE ; PNK_APRICORN item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; BLACKGLASSES diff --git a/data/items/catch_rate_items.asm b/data/items/catch_rate_items.asm index e6c3301..a178767 100644 --- a/data/items/catch_rate_items.asm +++ b/data/items/catch_rate_items.asm @@ -4,10 +4,10 @@ TimeCapsule_CatchRateItems: db FAIRY_FEATHER, LEFTOVERS - db ITEM_2D, BITTER_BERRY - db ITEM_32, GOLD_BERRY - db ITEM_5A, BERRY - db ITEM_64, BERRY + db BERRY, BITTER_BERRY + db BERRY, GOLD_BERRY + db BERRY, BERRY + db BERRY, BERRY db ITEM_78, BERRY db HEART_STONE, BERRY db OLD_AMBER, BERRY diff --git a/data/items/descriptions.asm b/data/items/descriptions.asm index 991ba5b..4a595f7 100644 --- a/data/items/descriptions.asm +++ b/data/items/descriptions.asm @@ -100,7 +100,7 @@ ItemDescriptions: dw WhtApricornDesc dw BlackbeltDesc dw BlkApricornDesc - dw QuestionMarkDesc + dw HoneyPotDesc dw PnkApricornDesc dw BlackGlassesDesc dw SlowpokeTailDesc @@ -975,3 +975,7 @@ PeatBlockDesc: ClubFossilDesc: db "The club of an" next "ancient #MON.@" + +HoneyPotDesc: + db "A pot for storing" + next "SWEET HONEY.@" diff --git a/data/items/names.asm b/data/items/names.asm index 354d91e..d7d7409 100644 --- a/data/items/names.asm +++ b/data/items/names.asm @@ -99,7 +99,7 @@ ItemNames:: li "WHT APRICORN" li "BLACKBELT" li "BLK APRICORN" - li "TERU-SAMA" + li "HONEY POT" li "PNK APRICORN" li "BLACKGLASSES" li "SLOWPOKETAIL" diff --git a/data/wild/treemons.asm b/data/wild/treemons.asm index 37b193b..1ec79fd 100644 --- a/data/wild/treemons.asm +++ b/data/wild/treemons.asm @@ -14,8 +14,8 @@ TreeMons: dw TreeMonSet_Rock_Ice dw TreeMonSet_Rock_Square dw TreeMonSet_Rock_Well + dw TreeMonSet_Sweet_Honey assert_table_length NUM_TREEMON_SETS - dw TreeMonSet_City ; unused ; Two tables each (common, rare). ; Structure: @@ -180,3 +180,10 @@ TreeMonSet_Rock_Well: dbbw 70, 15, KRABBY dbbw 30, 15, SHELLDER db -1 + +TreeMonSet_Sweet_Honey: + dbbw 25, 60, HERACROSS + dbbw 25, 60, URSARING + dbbw 25, 60, BEEDRILL + dbbw 25, 60, MUNCHLAX + db -1 diff --git a/engine/events/overworld.asm b/engine/events/overworld.asm index 199e280..a81d5dd 100644 --- a/engine/events/overworld.asm +++ b/engine/events/overworld.asm @@ -1303,6 +1303,7 @@ TryHeadbuttOW:: AskHeadbuttScript: opentext + callasm TrySweetHoneyOW writetext AskHeadbuttText yesorno iftrue HeadbuttScript @@ -1313,6 +1314,85 @@ AskHeadbuttText: text_far _AskHeadbuttText text_end +TrySweetHoneyOW: +; is player at the right position? + call CheckSavedSweetHoneySpot + ret nz ; return if not + + farcall _CheckSweetHoneyTimer + ld a, [wSweetHoneyTimer] + and a + ; ret z + +; - added day 2 check- + ld hl, .TwoDaysAgoText + jr z, .print_message +; - end add - + + ld hl, .YesterdayText + cp 1 ; day left + jr z, .print_message + + cp 2 ; days left + ret nz + + ld hl, .TodayText +.print_message +; writetext + push hl + call SpeechTextbox + call SafeUpdateSprites + ld a, 1 + ldh [hOAMUpdate], a + call ApplyTilemap + pop hl + call PrintTextboxText + xor a + ldh [hOAMUpdate], a + ret + +.TodayText: + text "There's SWEET HONEY" + line "on the tree!" + para "It's still fresh." + prompt + +.YesterdayText: + text "There's SWEET HONEY" + line "on the tree!" + para "It's about a day" + line "old." + prompt + +.TwoDaysAgoText: + text "There's SWEET HONEY" + line "on the tree!" + para "Looks ripe!" + prompt + +CheckSavedSweetHoneySpot: +; Z flag is set when player is in the exact spot +; where Sweet Honey is applied + +; check map group + ld hl, wSweetHoneyMapGroup + ld a, [wMapGroup] + cp [hl] + ret nz +; map number + inc hl ; wSweetHoneyMapNumber + ld a, [wMapNumber] + cp [hl] + ret nz +; X and Y + call GetFacingTileCoord + ld a, [wSweetHoneyX] + cp d + ret nz + ld a, [wSweetHoneyY] + cp e + ret + RockSmashFunction: call TryRockSmashFromMenu and $7f diff --git a/engine/events/specials.asm b/engine/events/specials.asm index b78f60f..69ed8d4 100644 --- a/engine/events/specials.asm +++ b/engine/events/specials.asm @@ -273,9 +273,9 @@ ScriptReturnCarry: ld [wScriptVar], a ret -UnusedCheckUnusedTwoDayTimer: - farcall CheckUnusedTwoDayTimer - ld a, [wUnusedTwoDayTimer] +CheckSweetHoneyTimer: + farcall _CheckSweetHoneyTimer + ld a, [wSweetHoneyTimer] ld [wScriptVar], a ret diff --git a/engine/events/sweet_honey.asm b/engine/events/sweet_honey.asm new file mode 100644 index 0000000..ff60238 --- /dev/null +++ b/engine/events/sweet_honey.asm @@ -0,0 +1,84 @@ +; src - https://github.com/pokeachromicdevs/pokeoctober/commit/8114fead91828dd6d986fe120d6c5cd5e3c6cbf6 + +_UseHoney:: + call .CheckHoney + and $7f + ld [wFieldMoveSucceeded], a + ret + +.CheckHoney: + call GetFacingTileCoord + push de + call CheckHeadbuttTreeTile + pop de + jr nz, .NoTree + + ld hl, wSweetHoneyEnabled + bit SWEET_HONEY_F, [hl] + jr z, .NoHoney + + res SWEET_HONEY_F, [hl] + inc hl + inc hl + inc hl ; wSweetHoneyMapGroup + ld a, [wMapGroup] + ld [hli], a + ld a, [wMapNumber] + ld [hli], a +; X and Y + ld [hl], d + inc hl + ld [hl], e + + farcall SetSweetHoneyTimer + + ld hl, UseHoneyScript + call QueueScript + ld a, $81 ; success + ret + +.NoTree: + ld a, $80 ; fail + ret + +.NoHoney: +; TODO: this does not even run due to the "can't use!" text + ld hl, NoHoneyScript + call QueueScript + ld a, $80 ; fail + ret + +UseHoneyScript: + reloadmappart + special UpdateTimePals + + opentext + writetext .SpreadHoneyText + playsound SFX_DEX_FANFARE_50_79 + waitsfx + waitbutton + closetext + end + +.SpreadHoneyText: + text " spread" + line "SWEET HONEY on the" + cont "tree!" + done + +NoHoneyScript: + reloadmappart + special UpdateTimePals + + opentext + writetext .NoHoneyText + playsound SFX_WRONG + waitsfx + waitbutton + closetext + end + +.NoHoneyText: + text "You don't have" + line "SWEET HONEY!" + done diff --git a/engine/events/treemons.asm b/engine/events/treemons.asm index 6c37f4a..2182cc3 100644 --- a/engine/events/treemons.asm +++ b/engine/events/treemons.asm @@ -12,7 +12,7 @@ TreeMonEncounter: call GetTreeMons jr nc, .no_battle - call GetTreeMon + call ModifyTreeMonRates jr nc, .no_battle ld a, BATTLETYPE_TREE @@ -122,6 +122,22 @@ GetTreeMons: INCLUDE "data/wild/treemons.asm" +ModifyTreeMonRates: + push hl + farcall CheckSavedSweetHoneySpot + pop hl + jr nz, GetTreeMon + + push hl + farcall _CheckSweetHoneyTimer + pop hl + + ld a, [wSweetHoneyTimer] + cp 2 ; was 1; jump if sweethoney was applied today + jr z, GetTreeMon + + ld hl, TreeMonSet_Sweet_Honey +; fallthrough for sweet honey mons GetTreeMon: push hl call GetTreeScore diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 4f838ac..cbde4e0 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -113,7 +113,7 @@ ItemEffects: dw NoEffect ; WHT_APRICORN dw NoEffect ; BLACKBELT_I dw NoEffect ; BLK_APRICORN - dw NoEffect ; ITEM_64 + dw UseHoneyEffect ; HONEY_POT was ITEM_64 dw NoEffect ; PNK_APRICORN dw NoEffect ; BLACKGLASSES dw EvoStoneEffect ; SLOWPOKETAIL @@ -2838,6 +2838,10 @@ RestoreAllPP: jr nz, .loop ret +UseHoneyEffect: + farcall _UseHoney + ret + GetMaxPPOfMove: ld a, [wStringBuffer1 + 0] push af diff --git a/engine/overworld/time.asm b/engine/overworld/time.asm index 2003910..d983e47 100644 --- a/engine/overworld/time.asm +++ b/engine/overworld/time.asm @@ -5,7 +5,7 @@ _InitializeStartDay: ClearDailyTimers: xor a ld [wLuckyNumberDayTimer], a - ld [wUnusedTwoDayTimer], a + ld [wSweetHoneyTimer], a ld [wDailyResetTimer], a ret @@ -203,36 +203,23 @@ CheckPokerusTick:: xor a ret -SetUnusedTwoDayTimer: ; unreferenced +SetSweetHoneyTimer: ld a, 2 - ld hl, wUnusedTwoDayTimer + ld hl, wSweetHoneyTimer ld [hl], a call UpdateTime - ld hl, wUnusedTwoDayTimerStartDate + ld hl, wSweetHoneyStartDate call CopyDayToHL ret -CheckUnusedTwoDayTimer: - ld hl, wUnusedTwoDayTimerStartDate +_CheckSweetHoneyTimer: + ld hl, wSweetHoneyStartDate call CalcDaysSince call GetDaysSince - ld hl, wUnusedTwoDayTimer + ld hl, wSweetHoneyTimer call UpdateTimeRemaining ret -UnusedSetSwarmFlag: ; unreferenced - ld hl, wDailyFlags1 - set DAILYFLAGS1_FISH_SWARM_F, [hl] - ret - -UnusedCheckSwarmFlag: ; unreferenced - and a - ld hl, wDailyFlags1 - bit DAILYFLAGS1_FISH_SWARM_F, [hl] - ret nz - scf - ret - RestartLuckyNumberCountdown: call .GetDaysUntilNextFriday ld hl, wLuckyNumberDayTimer diff --git a/main.asm b/main.asm index 548ec88..3cf7922 100644 --- a/main.asm +++ b/main.asm @@ -66,7 +66,7 @@ INCLUDE "engine/events/pokerus/apply_pokerus_tick.asm" INCLUDE "engine/events/bug_contest/contest_2.asm" INCLUDE "engine/pokemon/correct_party_errors.asm" INCLUDE "engine/math/get_square_root.asm" - +INCLUDE "engine/events/sweet_honey.asm" SECTION "bank5", ROMX diff --git a/maps/DebugRoom.ablk b/maps/DebugRoom.ablk index 6ccf64e..92733ea 100644 --- a/maps/DebugRoom.ablk +++ b/maps/DebugRoom.ablk @@ -3,5 +3,5 @@  ! E -E@AABHJ~IIIEF|}ABEJ~EF@AAB +E@AABHJ~IIIEF|}ABEJ~EF@AAB DBIIIIJDFTnUDFX5YHIIIJ|}~EEE \ No newline at end of file diff --git a/maps/DebugRoom.asm b/maps/DebugRoom.asm index d58f39c..6c526e1 100644 --- a/maps/DebugRoom.asm +++ b/maps/DebugRoom.asm @@ -198,292 +198,127 @@ DebugTextE: line "many items!" done -DebugFossilScientist: +; Honey Tree script (to be put in Old City) +HoneyGrannyScript: faceplayer + opentext - checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; remove the next two lines to immediately receive the fossil - iftrue .GaveScientistFossil - checkevent EVENT_GAVE_SCIENTIST_OLD_AMBER - iftrue .GiveDecilla - checkevent EVENT_GAVE_SCIENTIST_DOME_FOSSIL - iftrue .GiveKabuto - checkevent EVENT_GAVE_SCIENTIST_HELIX_FOSSIL - iftrue .GiveOmanyte - checkevent EVENT_GAVE_SCIENTIST_CLUB_FOSSIL - iftrue .GiveXylodon - checkevent EVENT_GAVE_SCIENTIST_WING_FOSSIL - iftrue .GiveFeradactyl - writetext FossilScientistIntroText - waitbutton - loadmenu .MoveMenuHeader - verticalmenu - closewindow - ifequal REVIVE_OLD_AMBER, .OldAmber - ifequal REVIVE_DOME_FOSSIL, .DomeFossil - ifequal REVIVE_HELIX_FOSSIL, .HelixFossil - ifequal REVIVE_CLUB_FOSSIL, .ClubFossil - ifequal REVIVE_WING_FOSSIL, .WingFossil - sjump .No + writetext .IntroText -.OldAmber - checkitem OLD_AMBER - iffalse .No - getmonname STRING_BUFFER_3, DECILLA - writetext FossilScientistMonText - promptbutton - setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; remove this to immediately receive the fossil - setevent EVENT_GAVE_SCIENTIST_OLD_AMBER - takeitem OLD_AMBER - writetext FossilScientistGiveText waitbutton - sjump .GaveScientistFossil + checkitem HONEY_POT + iffalse .no_pot -.DomeFossil: - checkitem DOME_FOSSIL - iffalse .No - getmonname STRING_BUFFER_3, KABUTO - writetext FossilScientistMonText - promptbutton - setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; remove this to immediately receive the fossil - setevent EVENT_GAVE_SCIENTIST_DOME_FOSSIL - takeitem DOME_FOSSIL - opentext - writetext FossilScientistGiveText + checkflag ENGINE_SWEET_HONEY + iftrue .just_given + + special CheckSweetHoneyTimer + ifequal 1, .waited_a_day + ifequal 2, .just_used + + writetext .UsedHoneyText +.give_honey + setflag ENGINE_SWEET_HONEY waitbutton - sjump .GaveScientistFossil -.HelixFossil: - checkitem HELIX_FOSSIL - iffalse .No - getmonname STRING_BUFFER_3, OMANYTE - writetext FossilScientistMonText - promptbutton - setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; remove this to immediately receive the fossil - setevent EVENT_GAVE_SCIENTIST_HELIX_FOSSIL - takeitem HELIX_FOSSIL - writetext FossilScientistGiveText + writetext .ReceivedSweetHoneyText + playsound SFX_ITEM + pause 60 waitbutton - sjump .GaveScientistFossil - -.ClubFossil: - checkitem HELIX_FOSSIL - iffalse .No - getmonname STRING_BUFFER_3, XYLODON - writetext FossilScientistMonText - promptbutton - setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; remove this to immediately receive the fossil - setevent EVENT_GAVE_SCIENTIST_CLUB_FOSSIL - takeitem HELIX_FOSSIL - writetext FossilScientistGiveText + + writetext .TryUsingText waitbutton - sjump .GaveScientistFossil + + closetext + end -.WingFossil: - checkitem HELIX_FOSSIL - iffalse .No - getmonname STRING_BUFFER_3, FERADACTYL - writetext FossilScientistMonText - promptbutton - setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; remove this to immediately receive the fossil - setevent EVENT_GAVE_SCIENTIST_WING_FOSSIL - takeitem HELIX_FOSSIL - writetext FossilScientistGiveText - waitbutton - sjump .GaveScientistFossil - -.No - writetext FossilScientistNoText +.just_used + writetext .DidYouPutText waitbutton closetext end -.GaveScientistFossil: - writetext FossilScientistTimeText +.no_pot + writetext .NoPotText waitbutton - closetext - ; older versions will use FadeBlackQuickly below instead - ; special FadeOutToBlack ; uncomment the next five lines to immediately receive the fossil - ; special ReloadSpritesNoPalettes - ; playsound SFX_WARP_TO - ; waitsfx - ; pause 35 - end ; replace this with "sjump FossilScientist" to immediately receive the fossil + verbosegiveitem HONEY_POT + writetext .AfterPotGivenText + sjump .give_honey -.GiveDecilla: - readvar VAR_PARTYCOUNT - ifequal PARTY_LENGTH, .NoRoom - clearevent EVENT_GAVE_SCIENTIST_OLD_AMBER - writetext FossilScientistDoneText - promptbutton - getmonname STRING_BUFFER_3, DECILLA - writetext FossilScientistReceiveText - playsound SFX_CAUGHT_MON - waitsfx - waitbutton - writetext FossilScientistMonText - givepoke DECILLA, 30 - closetext - end - -.GiveKabuto: - readvar VAR_PARTYCOUNT - ifequal PARTY_LENGTH, .NoRoom - clearevent EVENT_GAVE_SCIENTIST_DOME_FOSSIL - writetext FossilScientistDoneText - promptbutton - getmonname STRING_BUFFER_3, KABUTO - writetext FossilScientistReceiveText - playsound SFX_CAUGHT_MON - waitsfx - waitbutton - writetext FossilScientistMonText - givepoke KABUTO, 30 - closetext - end - -.GiveOmanyte: - readvar VAR_PARTYCOUNT - ifequal PARTY_LENGTH, .NoRoom - clearevent EVENT_GAVE_SCIENTIST_HELIX_FOSSIL - writetext FossilScientistDoneText - promptbutton - getmonname STRING_BUFFER_3, OMANYTE - writetext FossilScientistReceiveText - playsound SFX_CAUGHT_MON - waitsfx - waitbutton - writetext FossilScientistMonText - givepoke OMANYTE, 30 - closetext - end - -.GiveXylodon: - readvar VAR_PARTYCOUNT - ifequal PARTY_LENGTH, .NoRoom - clearevent EVENT_GAVE_SCIENTIST_CLUB_FOSSIL - writetext FossilScientistDoneText - promptbutton - getmonname STRING_BUFFER_3, XYLODON - writetext FossilScientistReceiveText - playsound SFX_CAUGHT_MON - waitsfx - waitbutton - writetext FossilScientistMonText - givepoke XYLODON, 30 - closetext - end - -.GiveFeradactyl: - readvar VAR_PARTYCOUNT - ifequal PARTY_LENGTH, .NoRoom - clearevent EVENT_GAVE_SCIENTIST_WING_FOSSIL - writetext FossilScientistDoneText - promptbutton - getmonname STRING_BUFFER_3, FERADACTYL - writetext FossilScientistReceiveText - playsound SFX_CAUGHT_MON - waitsfx - waitbutton - writetext FossilScientistMonText - givepoke FERADACTYL, 30 - closetext - end - -.NoRoom: - writetext FossilScientistPartyFullText +.just_given + writetext .TryUsingText waitbutton closetext end -.MoveMenuHeader: - db MENU_BACKUP_TILES ; flags - menu_coords 0, 0, 15, TEXTBOX_Y + 1 - dw .MenuData - db 1 ; default option +.waited_a_day + writetext .DidYouPutText2 + waitbutton + closetext + end -.MenuData: - db STATICMENU_CURSOR ; flags - db 6 ; items - db "OLD AMBER@" - db "DOME FOSSIL@" - db "HELIX FOSSIL@" - db "CLUB FOSSIL@" - db "WING FOSSIL@" - db "CANCEL@" - -FossilScientistIntroText: - text "Hiya!" - - para "I am important" - line "doctor!" - - para "I study here rare" - line "#MON fossils!" - - para "You! Have you a" - line "fossil for me?" +.IntroText: + text "Hello, hello!" + line "I'm the HONEY" + cont "GRANDMA!" done -FossilScientistNoText: - text "No! Is too bad!" - - para "You come again!" +.UsedHoneyText: + text "I see you have a" + line "HONEY POT with" + para "you. You can use" + line "it to collect" + cont "SWEET HONEY." + para "I know! I'll share" + line "some with you." done -FossilScientistPartyFullText: - text "No! Is too bad!" - - para "Your party is" - line "already full!" - done - -FossilScientistTimeText: - text "I take a little" - line "time!" - - para "You go for walk a" - line "little while!" - done - -FossilScientistDoneText: - text "Where were you?" - - para "Your fossil is" - line "back to life!" - done - -FossilScientistMonText: - text "Oh! That is" - line "a fossil!" - - para "It is fossil of" - line "@" - text_ram wStringBuffer3 - text ", a" - - - para "#MON that is" - line "already extinct!" - - para "My Resurrection" - line "Machine will make" - cont "that #MON live" - cont "again!" - done - -FossilScientistGiveText: - text "So! You hurry and" - line "give me that!" - - para " handed" - line "over the fossil." - done - -FossilScientistReceiveText: +.ReceivedSweetHoneyText: text " received" - line "@" - text_ram wStringBuffer3 - text "!" + line "SWEET HONEY." + done + +.DidYouPutText: + text "Did you put SWEET" + line "HONEY on a tree?" + + para "It takes about a" + line "day for #MON to" + cont "be drawn to it." + done + +.NoPotText: + text "You don't have a" + line "HONEY POT?" + + para "Not to worry!" + line "I've got just the" + cont "thing for you." + done + +.AfterPotGivenText: + text "A HONEY POT can" + line "store SWEET HONEY." + para "You can use it to" + line "attract rare wild" + cont "#MON." + + para "In fact, I'll give" + line "you some to try" + cont "it out!" + done + +.TryUsingText: + text "Try spreading some" + line "HONEY on a tree!" + done + +.DidYouPutText2: + text "Did you put SWEET" + line "HONEY on a tree?" + + para "What happened to" + line "it?" done DebugRoom_MapEvents: @@ -516,4 +351,4 @@ DebugRoom_MapEvents: object_event 17, 13, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_OW_PURPLE, OBJECTTYPE_SCRIPT, 0, DebugFlyScript, -1 object_event 16, 13, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_OW_PURPLE, OBJECTTYPE_SCRIPT, 0, DebugDexScript, -1 object_event 19, 13, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_OW_PURPLE, OBJECTTYPE_SCRIPT, 0, DebugItemScript, -1 - object_event 18, 13, SPRITE_NURSE, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, DebugFossilScientist, -1 + object_event 18, 13, SPRITE_NURSE, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, HoneyGrannyScript, -1 diff --git a/ram/wram.asm b/ram/wram.asm index 000d98c..ec00df2 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -3221,7 +3221,14 @@ wBugContestStartTime:: ds 4 ; day, hour, min, sec wUnusedTwoDayTimerOn:: db wUnusedTwoDayTimer:: db wUnusedTwoDayTimerStartDate:: db - ds 4 +wSweetHoneyEnabled:: db +wSweetHoneyTimer:: db ; counts days since start date +wSweetHoneyStartDate:: db + +wSweetHoneyMapGroup:: db +wSweetHoneyMapNumber:: db +wSweetHoneyX:: db +wSweetHoneyY:: db wMobileOrCable_LastSelection:: db wdc41:: ds 1 wdc42:: ds 8