pokecrystal/maps/GoldenrodCity.asm

604 lines
14 KiB
NASM

object_const_def ; object_event constants
const GOLDENRODCITY_POKEFAN_M1
const GOLDENRODCITY_YOUNGSTER1
const GOLDENRODCITY_COOLTRAINER_F1
const GOLDENRODCITY_COOLTRAINER_F2
const GOLDENRODCITY_YOUNGSTER2
const GOLDENRODCITY_LASS
const GOLDENRODCITY_GRAMPS
const GOLDENRODCITY_ROCKETSCOUT
const GOLDENRODCITY_ROCKET1
const GOLDENRODCITY_ROCKET2
const GOLDENRODCITY_ROCKET3
const GOLDENRODCITY_ROCKET4
const GOLDENRODCITY_ROCKET5
const GOLDENRODCITY_ROCKET6
const GOLDENRODCITY_MOVETUTOR
GoldenrodCity_MapScripts:
db 0 ; scene scripts
db 2 ; callbacks
callback MAPCALLBACK_NEWMAP, .FlyPointAndFloria
callback MAPCALLBACK_OBJECTS, .MoveTutor
.FlyPointAndFloria:
setflag ENGINE_FLYPOINT_GOLDENROD
setflag ENGINE_REACHED_GOLDENROD
checkevent EVENT_MET_FLORIA
iftrue .FloriaDone
clearevent EVENT_FLORIA_AT_SUDOWOODO
.FloriaDone:
return
.MoveTutor:
checkevent EVENT_BEAT_ELITE_FOUR
iffalse .MoveTutorDone
checkitem COIN_CASE
iffalse .MoveTutorDisappear
readvar VAR_WEEKDAY
ifequal WEDNESDAY, .MoveTutorAppear
ifequal SATURDAY, .MoveTutorAppear
.MoveTutorDisappear:
disappear GOLDENRODCITY_MOVETUTOR
return
.MoveTutorAppear:
checkflag ENGINE_DAILY_MOVE_TUTOR
iftrue .MoveTutorDone
appear GOLDENRODCITY_MOVETUTOR
.MoveTutorDone:
return
MoveTutorScript:
faceplayer
opentext
writetext UnknownText_0x199042
yesorno
iffalse .Refused
special DisplayCoinCaseBalance
writetext UnknownText_0x199090
yesorno
iffalse .Refused2
checkcoins 4000
ifequal HAVE_LESS, .NotEnoughMoney
writetext UnknownText_0x1990ce
loadmenu .MoveMenuHeader
verticalmenu
closewindow
ifequal MOVETUTOR_FLAMETHROWER, .Flamethrower
ifequal MOVETUTOR_THUNDERBOLT, .Thunderbolt
ifequal MOVETUTOR_ICE_BEAM, .IceBeam
sjump .Incompatible
.Flamethrower:
setval MOVETUTOR_FLAMETHROWER
writetext UnknownText_0x1991cf
special MoveTutor
ifequal FALSE, .TeachMove
sjump .Incompatible
.Thunderbolt:
setval MOVETUTOR_THUNDERBOLT
writetext UnknownText_0x1991cf
special MoveTutor
ifequal FALSE, .TeachMove
sjump .Incompatible
.IceBeam:
setval MOVETUTOR_ICE_BEAM
writetext UnknownText_0x1991cf
special MoveTutor
ifequal FALSE, .TeachMove
sjump .Incompatible
.MoveMenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 2, 15, TEXTBOX_Y - 1
dw .MenuData
db 1 ; default option
.MenuData:
db STATICMENU_CURSOR ; flags
db 4 ; items
db "FLAMETHROWER@"
db "THUNDERBOLT@"
db "ICE BEAM@"
db "CANCEL@"
.Refused:
writetext UnknownText_0x1990b4
waitbutton
closetext
end
.Refused2:
writetext UnknownText_0x199107
waitbutton
closetext
end
.TeachMove:
writetext UnknownText_0x19913a
buttonsound
takecoins 4000
waitsfx
playsound SFX_TRANSACTION
special DisplayCoinCaseBalance
writetext UnknownText_0x19918b
waitbutton
closetext
readvar VAR_FACING
ifequal LEFT, .WalkAroundPlayer
applymovement GOLDENRODCITY_MOVETUTOR, MovementData_0x198a5f
sjump .GoInside
.WalkAroundPlayer:
applymovement GOLDENRODCITY_MOVETUTOR, MovementData_0x198a63
.GoInside:
playsound SFX_ENTER_DOOR
disappear GOLDENRODCITY_MOVETUTOR
clearevent EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR
setflag ENGINE_DAILY_MOVE_TUTOR
waitsfx
end
.Incompatible:
writetext UnknownText_0x1991a4
waitbutton
closetext
end
.NotEnoughMoney:
writetext UnknownText_0x1991ac
waitbutton
closetext
end
GoldenrodCityPokefanMScript:
jumptextfaceplayer GoldenrodCityPokefanMText
GoldenrodCityYoungster1Script:
jumptextfaceplayer GoldenrodCityYoungster1Text
GoldenrodCityCooltrainerF1Script:
faceplayer
opentext
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue .ClearedRadioTower
writetext GoldenrodCityCooltrainerF1Text
waitbutton
closetext
end
.ClearedRadioTower:
writetext GoldenrodCityCooltrainerF1Text_ClearedRadioTower
waitbutton
closetext
end
GoldenrodCityCooltrainerF2Script:
faceplayer
opentext
checkflag ENGINE_RADIO_CARD
iftrue .GotRadioCard
writetext GoldenrodCityCooltrainerF2Text
waitbutton
closetext
end
.GotRadioCard:
writetext GoldenrodCityCooltrainerF2Text_GotRadioCard
waitbutton
closetext
end
GoldenrodCityYoungster2Script:
jumptextfaceplayer GoldenrodCityYoungster2Text
GoldenrodCityLassScript:
jumptextfaceplayer GoldenrodCityLassText
GoldenrodCityGrampsScript:
jumptextfaceplayer GoldenrodCityGrampsText
GoldenrodCityRocketScoutScript:
opentext
writetext GoldenrodCityRocketScoutText1
buttonsound
faceplayer
writetext GoldenrodCityRocketScoutText2
waitbutton
closetext
turnobject GOLDENRODCITY_ROCKETSCOUT, UP
end
GoldenrodCityRocket1Script:
jumptextfaceplayer GoldenrodCityRocket1Text
GoldenrodCityRocket2Script:
jumptextfaceplayer GoldenrodCityRocket2Text
GoldenrodCityRocket3Script:
jumptextfaceplayer GoldenrodCityRocket3Text
GoldenrodCityRocket4Script:
jumptextfaceplayer GoldenrodCityRocket4Text
GoldenrodCityRocket5Script:
jumptextfaceplayer GoldenrodCityRocket5Text
GoldenrodCityRocket6Script:
jumptextfaceplayer GoldenrodCityRocket6Text
GoldenrodCityStationSign:
jumptext GoldenrodCityStationSignText
GoldenrodCityRadioTowerSign:
jumptext GoldenrodCityRadioTowerSignText
GoldenrodDeptStoreSign:
jumptext GoldenrodDeptStoreSignText
GoldenrodGymSign:
jumptext GoldenrodGymSignText
GoldenrodCitySign:
jumptext GoldenrodCitySignText
GoldenrodCityBikeShopSign:
jumptext GoldenrodCityBikeShopSignText
GoldenrodCityGameCornerSign:
jumptext GoldenrodCityGameCornerSignText
GoldenrodCityNameRaterSign:
jumptext GoldenrodCityNameRaterSignText
GoldenrodCityUndergroundSignNorth:
jumptext GoldenrodCityUndergroundSignNorthText
GoldenrodCityUndergroundSignSouth:
jumptext GoldenrodCityUndergroundSignSouthText
GoldenrodCityPokecenterSign:
jumpstd pokecentersign
GoldenrodCityFlowerShopSign:
jumptext GoldenrodCityFlowerShopSignText
MovementData_0x198a5f:
step RIGHT
step RIGHT
step UP
step_end
MovementData_0x198a63:
step DOWN
step RIGHT
step RIGHT
step UP
step UP
step_end
GoldenrodCityPokefanMText:
text "They built the new"
line "RADIO TOWER to"
para "replace the old,"
line "creaky one."
done
GoldenrodCityYoungster1Text:
text "I know there's a"
line "new BIKE SHOP, but"
para "I can't find it"
line "anywhere."
done
GoldenrodCityCooltrainerF1Text:
text "Is that man in"
line "black dressed up"
para "like a TEAM ROCKET"
line "member? How silly!"
done
GoldenrodCityCooltrainerF1Text_ClearedRadioTower:
text "Was that man in"
line "black really part"
para "of TEAM ROCKET? I"
line "can't believe it!"
done
GoldenrodCityCooltrainerF2Text:
text "The RADIO TOWER in"
line "GOLDENROD CITY is"
cont "a landmark."
para "They're running a"
line "promotional cam- "
cont "paign right now."
para "They'll modify"
line "your #GEAR,"
para "so it can also"
line "serve as a radio."
done
GoldenrodCityCooltrainerF2Text_GotRadioCard:
text "Oh, your #GEAR"
line "works as a radio!"
done
GoldenrodCityYoungster2Text:
text "E-he-he-he…"
para "I got in trouble"
line "for playing in the"
para "basement of the"
line "DEPT.STORE."
done
GoldenrodCityLassText:
text "The man at that"
line "house rates your"
cont "#MON names."
para "He can even rename"
line "your #MON."
done
GoldenrodCityGrampsText:
text "Whew! This is one"
line "big town. I don't"
para "know where any-"
line "thing is."
done
GoldenrodCityRocketScoutText1:
text "So this is the"
line "RADIO TOWER…"
done
GoldenrodCityRocketScoutText2:
text "What do you want,"
line "you pest? Scram!"
done
GoldenrodCityRocket1Text:
text "Stay out of the"
line "way! Beat it!"
done
GoldenrodCityRocket2Text:
text "Take over the"
line "RADIO TOWER…"
para "What? It's none of"
line "your business!"
done
GoldenrodCityRocket3Text:
text "#MON? They're"
line "nothing more than"
para "tools for making"
line "money!"
done
GoldenrodCityRocket4Text:
text "Our dream will"
line "soon come true…"
para "It was such a long"
line "struggle…"
done
GoldenrodCityRocket5Text:
text "Hey, brat! You"
line "don't belong here!"
cont "Get lost!"
done
GoldenrodCityRocket6Text:
text "Come taste the"
line "true terror of"
cont "TEAM ROCKET!"
done
GoldenrodCityStationSignText:
text "GOLDENROD CITY"
line "STATION"
done
GoldenrodCityRadioTowerSignText:
text "GOLDENROD CITY"
line "RADIO TOWER"
done
GoldenrodDeptStoreSignText:
text "Full Selection of"
line "#MON Goods!"
para "GOLDENROD CITY"
line "DEPT.STORE"
done
GoldenrodGymSignText:
text "GOLDENROD CITY"
line "#MON GYM"
cont "LEADER: WHITNEY"
para "The Incredibly"
line "Pretty Girl!"
done
GoldenrodCitySignText:
text "GOLDENROD CITY"
para "The Festive City"
line "of Opulent Charm"
done
GoldenrodCityBikeShopSignText:
text "The World is a"
line "Cycle Path!"
cont "BIKE SHOP"
done
GoldenrodCityGameCornerSignText:
text "Your Playground!"
para "GOLDENROD CITY"
line "GAME CORNER"
done
GoldenrodCityNameRaterSignText:
text "NAME RATER"
para "Get Your #MON"
line "Nicknames Rated"
done
GoldenrodCityUndergroundSignNorthText:
text "UNDERGROUND"
line "ENTRANCE"
done
GoldenrodCityUndergroundSignSouthText:
text "UNDERGROUND"
line "ENTRANCE"
done
GoldenrodCityPokeComCenterSignText:
; unused
text "For Mobile Tips!"
line "#COM CENTER"
done
GoldenrodCityFlowerShopSignText:
text "Blooming Beautiful"
line "FLOWER SHOP"
done
UnknownText_0x199042:
text "I can teach your"
line "#MON amazing"
para "moves if you'd"
line "like."
para "Should I teach a"
line "new move?"
done
UnknownText_0x199090:
text "It will cost you"
line "4000 coins. Okay?"
done
UnknownText_0x1990b4:
text "Aww… But they're"
line "amazing…"
done
UnknownText_0x1990ce:
text "Wahahah! You won't"
line "regret it!"
para "Which move should"
line "I teach?"
done
UnknownText_0x199107:
text "Hm, too bad. I'll"
line "have to get some"
cont "cash from home…"
done
UnknownText_0x19913a:
text "If you understand"
line "what's so amazing"
para "about this move,"
line "you've made it as"
cont "a trainer."
done
UnknownText_0x19918b:
text "Wahahah!"
line "Farewell, kid!"
done
UnknownText_0x1991a4:
text "B-but…"
done
UnknownText_0x1991ac:
text "…You don't have"
line "enough coins here…"
done
UnknownText_0x1991cf:
text_start
done
GoldenrodCity_MapEvents:
db 0, 0 ; filler
db 15 ; warp events
warp_event 24, 7, GOLDENROD_GYM, 1
warp_event 29, 29, GOLDENROD_BIKE_SHOP, 1
warp_event 31, 21, GOLDENROD_HAPPINESS_RATER, 1
warp_event 5, 25, BILLS_FAMILYS_HOUSE, 1
warp_event 9, 13, GOLDENROD_MAGNET_TRAIN_STATION, 2
warp_event 29, 5, GOLDENROD_FLOWER_SHOP, 1
warp_event 33, 9, GOLDENROD_PP_SPEECH_HOUSE, 1
warp_event 15, 7, GOLDENROD_NAME_RATER, 1
warp_event 24, 27, GOLDENROD_DEPT_STORE_1F, 1
warp_event 14, 21, GOLDENROD_GAME_CORNER, 1
warp_event 5, 15, RADIO_TOWER_1F, 1
warp_event 19, 1, ROUTE_35_GOLDENROD_GATE, 3
warp_event 9, 5, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, 8
warp_event 11, 29, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, 5
warp_event 15, 27, GOLDENROD_POKECENTER_1F, 1
db 0 ; coord events
db 12 ; bg events
bg_event 10, 14, BGEVENT_READ, GoldenrodCityStationSign
bg_event 4, 17, BGEVENT_READ, GoldenrodCityRadioTowerSign
bg_event 26, 27, BGEVENT_READ, GoldenrodDeptStoreSign
bg_event 26, 9, BGEVENT_READ, GoldenrodGymSign
bg_event 22, 18, BGEVENT_READ, GoldenrodCitySign
bg_event 28, 30, BGEVENT_READ, GoldenrodCityBikeShopSign
bg_event 16, 22, BGEVENT_READ, GoldenrodCityGameCornerSign
bg_event 12, 7, BGEVENT_READ, GoldenrodCityNameRaterSign
bg_event 8, 6, BGEVENT_READ, GoldenrodCityUndergroundSignNorth
bg_event 12, 30, BGEVENT_READ, GoldenrodCityUndergroundSignSouth
bg_event 16, 27, BGEVENT_UP, GoldenrodCityPokecenterSign
bg_event 30, 6, BGEVENT_READ, GoldenrodCityFlowerShopSign
db 15 ; object events
object_event 7, 18, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityPokefanMScript, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 30, 17, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityYoungster1Script, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 12, 16, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodCityCooltrainerF1Script, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 20, 26, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityCooltrainerF2Script, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 19, 17, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodCityYoungster2Script, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 17, 10, SPRITE_LASS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodCityLassScript, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 11, 27, SPRITE_GRAMPS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityGrampsScript, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 4, 16, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocketScoutScript, EVENT_GOLDENROD_CITY_ROCKET_SCOUT
object_event 28, 20, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket1Script, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
object_event 8, 15, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket2Script, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
object_event 16, 23, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket3Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 29, 20, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket4Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 29, 7, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket5Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 31, 10, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket6Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 12, 22, SPRITE_POKEFAN_M, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, MoveTutorScript, EVENT_GOLDENROD_CITY_MOVE_TUTOR