This implements Old City, the Honey Grandma's House, and its Pokecenter+Mart. Bunch of other bits and pieces not added yet, need to figure out the lore for them.

Honey Grandma is designed to make it easier to get important Pokemon, rather than give access to anything new. Thus, she's Nihon-locked by being an Old City resident. Martha's Perfect Rod will follow this trend.

Gold Berry tree exists to make them renewable in-game, I think this is very important.

The flypoint seems bugged.
This commit is contained in:
Llinos Evans 2024-07-22 23:40:53 +01:00
parent aa970c326e
commit 4eb81eec25
47 changed files with 699 additions and 147 deletions

18
maps/#Placeholder.asm Normal file
View file

@ -0,0 +1,18 @@
object_const_def
Placeholder_MapScripts:
def_scene_scripts
def_callbacks
Placeholder_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 0, 0, DEBUG_ROOM, 1
def_coord_events
def_bg_events
def_object_events

View file

@ -198,129 +198,6 @@ DebugTextE:
line "many items!"
done
; Honey Tree script (to be put in Old City)
HoneyGrannyScript:
faceplayer
opentext
writetext .IntroText
waitbutton
checkitem HONEY_POT
iffalse .no_pot
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
writetext .ReceivedSweetHoneyText
playsound SFX_ITEM
pause 60
waitbutton
writetext .TryUsingText
waitbutton
closetext
end
.just_used
writetext .DidYouPutText
waitbutton
closetext
end
.no_pot
writetext .NoPotText
waitbutton
verbosegiveitem HONEY_POT
writetext .AfterPotGivenText
sjump .give_honey
.just_given
writetext .TryUsingText
waitbutton
closetext
end
.waited_a_day
writetext .DidYouPutText2
waitbutton
closetext
end
.IntroText:
text "Hello, hello!"
line "I'm the HONEY"
cont "GRANDMA!"
done
.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
.ReceivedSweetHoneyText:
text "<PLAYER> received"
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:
db 0, 0 ; filler
@ -332,7 +209,7 @@ DebugRoom_MapEvents:
warp_event 15, 2, GOLDENROD_CITY, 1 ; city warp
warp_event 4, 9, PALLET_TOWN, 1 ; left lab/league warp
warp_event 5, 9, PALLET_TOWN, 1 ; right lab/league warp
warp_event 35, 17, BLUE_FOREST, 1 ; east warp
warp_event 35, 17, OLD_CITY, 1 ; east warp
warp_event 5, 35, BLUE_FOREST, 1 ; southwest warp
warp_event 19, 34, BLUE_FOREST, 1 ; southern warp
warp_event 33, 33, BLUE_FOREST, 1 ; southeast warp

View file

@ -0,0 +1,2 @@
)
*

144
maps/HoneyGrandmasHouse.asm Normal file
View file

@ -0,0 +1,144 @@
object_const_def
const HONEYGRANDMASHOUSE_GRANNY
HoneyGrandmasHouse_MapScripts:
def_scene_scripts
def_callbacks
; Honey Tree script
HoneyGrannyScript:
faceplayer
opentext
writetext .IntroText
waitbutton
checkitem HONEY_POT
iffalse .no_pot
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
writetext .ReceivedSweetHoneyText
playsound SFX_ITEM
pause 60
waitbutton
writetext .TryUsingText
waitbutton
closetext
end
.just_used
writetext .DidYouPutText
waitbutton
closetext
end
.no_pot
writetext .NoPotText
waitbutton
verbosegiveitem HONEY_POT
writetext .AfterPotGivenText
sjump .give_honey
.just_given
writetext .TryUsingText
waitbutton
closetext
end
.waited_a_day
writetext .DidYouPutText2
waitbutton
closetext
end
.IntroText:
text "Hello, hello!"
line "I'm the HONEY"
cont "GRANDMA!"
done
.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
.ReceivedSweetHoneyText:
text "<PLAYER> received"
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
HoneyGrandmasHouse_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 3, 9, OLD_CITY, 11
warp_event 4, 9, OLD_CITY, 11
def_coord_events
def_bg_events
def_object_events
object_event 4, 5, SPRITE_GRANNY, SPRITEMOVEDATA_STANDING_RIGHT, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, HoneyGrannyScript, -1

2
maps/NihonMart.ablk Normal file
View file

@ -0,0 +1,2 @@

   

BIN
maps/OldCity.ablk Normal file

Binary file not shown.

192
maps/OldCity.asm Normal file
View file

@ -0,0 +1,192 @@
object_const_def
const OLDCITY_FRUITTREE
const OLDCITY_GRAMPS
const OLDCITY_TWIN
const OLDCITY_BUGCATCHER
const OLDCITY_YOUNGSTER
const OLDCITY_SUPERNERD
const OLDCITY_GRANNY
const OLDCITY_MONSTER
OldCity_MapScripts:
def_scene_scripts
def_callbacks
callback MAPCALLBACK_NEWMAP, OldCityFlypointCallback
OldCityFlypointCallback:
setflag ENGINE_FLYPOINT_OLD
endcallback
HoneyGrandmaSignScript:
jumptext HoneyGrandmaSignText
HoneyGrandmaSignText:
text "HONEY GRANDMA's"
line "house"
done
OldCitySignScript:
jumptext OldCitySignText
OldCitySignText:
text "OLD CITY"
para "The city of gold-"
line "en leaves." ; doubles as a HGSS ref. maybe have a gold/silver leaf maniac somewhere idfk they're in the game and totally useless
done
GrowlitheTowerSignScript:
jumptext GrowlitheTowerSignText
; TODO: What are they doing in the tower? Probably something to do with Shi-Shi, but what?
GrowlitheTowerSignText:
text "GROWLITHE TOWER"
line "Comment to be"
cont "written."
done
OldCityMuseumSignScript:
jumptext OldCityMuseumSignText
OldCityMuseumSignText:
text "XX"
line "Comment to be"
cont "written."
done
OldCityFruitTree:
fruittree FRUITTREE_OLD_CITY
OldCityPokecenterSign:
jumpstd PokecenterSignScript
OldCityMartSign:
jumpstd MartSignScript
OldCityOldManScript:
jumptextfaceplayer OldCityOldManText
OldCityOldManText:
text "GROWLITHE TOWER"
line "is only open to"
cont "citizens."
para "We await a hero." ; or something like that.
done
OldCityTwinScript:
jumptextfaceplayer OldCityTwinText
OldCityTwinText:
text "Comment to be"
line "written."
done
OldCityBugCatcherScript:
jumptextfaceplayer OldCityBugCatcherText
OldCityBugCatcherText:
text "The HONEY GRANDMA"
line "helped me catch"
cont "a HERACROSS!"
para "I'm so happy! My"
line "friends are so"
cont "jealous!"
done
OldCityYoungsterScript:
jumptextfaceplayer OldCityYoungsterText
OldCityYoungsterText:
text "Did you come here"
line "through QUIET"
cont "CAVE?"
para "My friends go"
line "there to catch"
cont "bug #MON!"
done
OldCitySuperNerdScript:
jumptextfaceplayer OldCitySuperNerdText
OldCitySuperNerdText:
text "LARVITAR and I"
line "are on a journey!"
para "One day, it'll be"
line "big and strong!"
done
OldCityLarvitarScript:
faceplayer
opentext
writetext OldCityLarvitarText
cry LARVITAR
waitbutton
closetext
end
OldCityLarvitarText:
text "LARVITAR: Hwarg!"
line "Grr!"
done
OldCityGrannyScript:
jumptextfaceplayer OldCityGrannyText
OldCityGrannyText:
text "WALKER? He's from"
line "JOHTO. When he"
cont "left, his son"
cont "inherited the"
cont "GYM."
para "You beat him?"
para "Very good."
done
OldCity_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 18, 31, ROUTE_49_OLD_CITY_GATE_1F, 3
warp_event 19, 31, ROUTE_49_OLD_CITY_GATE_1F, 4
warp_event 22, 26, DEBUG_ROOM, 1 ; Right-down house
warp_event 3, 26, OLD_MART, 1 ; Mart
warp_event 27, 12, DEBUG_ROOM, 1 ; gym right
warp_event 26, 12, DEBUG_ROOM, 1 ; gym left
warp_event 5, 12, DEBUG_ROOM, 1 ; Museum(?) right
warp_event 4, 12, DEBUG_ROOM, 1 ; Museum(?) left
warp_event 12, 16, DEBUG_ROOM, 1 ; Growlithe Tower right
warp_event 11, 16, DEBUG_ROOM, 1 ; Growlithe Tower left
warp_event 3, 31, HONEY_GRANDMAS_HOUSE, 1 ; southwest house (Honey Grandma)
warp_event 27, 28, OLD_CITY_POKECENTER_1F, 1 ; pokecenter
warp_event 30, 20, DEBUG_ROOM, 1 ; right-up house
warp_event 10, 26, DEBUG_ROOM, 1 ; house by mart
; considering a tearoom where the waiters are passive-aggressive. classic kyoto.
def_coord_events
def_bg_events
bg_event 20, 22, BGEVENT_READ, OldCitySignScript
bg_event 4, 32, BGEVENT_READ, HoneyGrandmaSignScript
bg_event 8, 14, BGEVENT_READ, GrowlitheTowerSignScript
bg_event 26, 20, BGEVENT_READ, OldCityMuseumSignScript
bg_event 28, 14, BGEVENT_READ, OldCityMuseumSignScript
bg_event 8, 11, BGEVENT_READ, OldCityMuseumSignScript
bg_event 28, 28, BGEVENT_READ, OldCityPokecenterSign
bg_event 4, 26, BGEVENT_READ, OldCityMartSign
def_object_events
object_event 24, 3, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldCityFruitTree, -1
object_event 9, 16, SPRITE_GRAMPS, SPRITEMOVEDATA_STANDING_DOWN, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldCityOldManScript, -1
object_event 26, 22, SPRITE_TWIN, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldCityTwinScript, -1
object_event 17, 16, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_UP, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldCityBugCatcherScript, -1
object_event 18, 24, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldCityYoungsterScript, -1
object_event 14, 21, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldCitySuperNerdScript, -1
object_event 13, 26, SPRITE_GRANNY, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldCityGrannyScript, -1
object_event 15, 21, SPRITE_MONSTER, SPRITEMOVEDATA_STANDING_DOWN, 2, 2, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, OldCityLarvitarScript, -1

View file

@ -0,0 +1,66 @@
object_const_def
const OLDCITYPOKECENTER1F_NURSE
const OLDCITYPOKECENTER1F_FISHER
const OLDCITYPOKECENTER1F_COOLTRAINER_M
const OLDCITYPOKECENTER1F_COOLTRAINER_F
OldCityPokecenter1F_MapScripts:
def_scene_scripts
def_callbacks
OldCityPokecenter1FNurseScript:
jumpstd PokecenterNurseScript
OldCityPokecenter1FCoolTrainerMScript:
jumptextfaceplayer OldCityPokecenter1FCoolTrainerMText
OldCityPokecenter1FCoolTrainerMText:
text "There's a strange"
line "house full of odd"
cont "geeks on ROUTE 50."
para "I wonder why? Is"
line "something going"
cont "on?"
done
OldCityPokecenter1FCoolTrainerFScript:
jumptextfaceplayer OldCityPokecenter1FCoolTrainerFText
OldCityPokecenter1FCoolTrainerFText:
text "WALKER is always"
line "riding on his"
cont "SKARMORY!"
para "The problem is, he"
line "doesn't leave time"
cont "for challengers…"
done
OldCityPokecenter1FFisherScript:
jumptextfaceplayer OldCityPokecenter1FFisherText
OldCityPokecenter1FFisherText:
text "I caught a strange"
line "fish #MON with"
cont "wings!"
done
OldCityPokecenter1F_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 3, 7, OLD_CITY, 12
warp_event 4, 7, OLD_CITY, 12
warp_event 0, 7, NIHON_POKECENTER_2F, 1
def_coord_events
def_bg_events
def_object_events
object_event 5, 1, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldCityPokecenter1FNurseScript, -1
object_event 13, 3, SPRITE_FISHER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldCityPokecenter1FFisherScript, -1
object_event 1, 4, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WANDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldCityPokecenter1FCoolTrainerFScript, -1
object_event 7, 5, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldCityPokecenter1FCoolTrainerMScript, -1

54
maps/OldMart.asm Normal file
View file

@ -0,0 +1,54 @@
object_const_def
const OLDMART_CLERK
const OLDMART_TWIN
const OLDMART_BUG_CATCHER
OldMart_MapScripts:
def_scene_scripts
def_callbacks
OldMartClerkScript:
opentext
pokemart MARTTYPE_STANDARD, MART_OLDCITY
closetext
end
OldMartTwinScript:
jumptextfaceplayer OldMartTwinText
OldMartBugCatcherScript:
jumptextfaceplayer OldMartBugCatcherText
OldMartTwinText:
text "I'm buying MAIL"
line "to send to my"
cont "foreign friend!"
done
OldMartBugCatcherText:
text "I heard there's a"
line "tree with GOLD"
cont "BERRIES around"
cont "here."
para "If I go to JOHTO's"
line "BATTLE TOWER, they"
cont "could be useful!"
done
OldMart_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 4, 7, OLD_CITY, 4
warp_event 5, 7, OLD_CITY, 4
def_coord_events
def_bg_events
def_object_events
object_event 1, 2, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldMartClerkScript, -1
object_event 15, 2, SPRITE_TWIN, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OldMartTwinScript, -1
object_event 9, 5, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, OldMartBugCatcherScript, -1

View file

@ -57,8 +57,8 @@ Route49OldCityGate1F_MapEvents:
def_warp_events
warp_event 4, 7, ROUTE_49_2, 3
warp_event 5, 7, ROUTE_49_2, 4
warp_event 4, 0, DEBUG_ROOM, 1 ; OLD_CITY
warp_event 5, 0, DEBUG_ROOM, 1 ; OLD_CITY
warp_event 4, 0, OLD_CITY, 1
warp_event 5, 0, OLD_CITY, 2
warp_event 1, 0, ROUTE_49_OLD_CITY_GATE_2F, 1
def_coord_events

View file

@ -52,7 +52,7 @@ SilentHillsPokecenter1FHoundoomScript:
end
SilentHillsPokecenter1FHoundoomText:
text "Bark! Bark!"
text "HOUNDOOM: Grr…"
done