pokegold/maps/GoldenrodGameCorner.asm

535 lines
16 KiB
NASM

DEF GOLDENRODGAMECORNER_TM25_COINS EQU 5500
DEF GOLDENRODGAMECORNER_TM14_COINS EQU 5500
DEF GOLDENRODGAMECORNER_TM38_COINS EQU 5500
DEF GOLDENRODGAMECORNER_ABRA_COINS EQU 200
DEF GOLDENRODGAMECORNER_SANDSHREW_COINS EQU 700
DEF GOLDENRODGAMECORNER_EKANS_COINS EQU 700
DEF GOLDENRODGAMECORNER_DRATINI_COINS EQU 2100
object_const_def
const GOLDENRODGAMECORNER_CLERK
const GOLDENRODGAMECORNER_RECEPTIONIST1
const GOLDENRODGAMECORNER_RECEPTIONIST2
const GOLDENRODGAMECORNER_PHARMACIST1
const GOLDENRODGAMECORNER_PHARMACIST2
const GOLDENRODGAMECORNER_POKEFAN_M1
const GOLDENRODGAMECORNER_COOLTRAINER_M
const GOLDENRODGAMECORNER_POKEFAN_F
const GOLDENRODGAMECORNER_COOLTRAINER_F
const GOLDENRODGAMECORNER_GENTLEMAN
const GOLDENRODGAMECORNER_POKEFAN_M2
GoldenrodGameCorner_MapScripts:
def_scene_scripts
def_callbacks
GoldenrodGameCornerCoinVendorScript:
jumpstd GameCornerCoinVendorScript
GoldenrodGameCornerTMVendorScript:
faceplayer
opentext
writetext GoldenrodGameCornerPrizeVendorIntroText
waitbutton
checkitem COIN_CASE
iffalse GoldenrodGameCornerPrizeVendor_NoCoinCaseScript
writetext GoldenrodGameCornerPrizeVendorWhichPrizeText
GoldenrodGameCornerTMVendor_LoopScript:
special DisplayCoinCaseBalance
loadmenu GoldenrodGameCornerTMVendorMenuHeader
verticalmenu
closewindow
ifequal 1, .Thunder
ifequal 2, .Blizzard
ifequal 3, .FireBlast
sjump GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
.Thunder:
checkcoins GOLDENRODGAMECORNER_TM25_COINS
ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
getitemname STRING_BUFFER_3, TM_THUNDER
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
giveitem TM_THUNDER
iffalse GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
takecoins GOLDENRODGAMECORNER_TM25_COINS
sjump GoldenrodGameCornerTMVendor_FinishScript
.Blizzard:
checkcoins GOLDENRODGAMECORNER_TM14_COINS
ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
getitemname STRING_BUFFER_3, TM_BLIZZARD
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
giveitem TM_BLIZZARD
iffalse GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
takecoins GOLDENRODGAMECORNER_TM14_COINS
sjump GoldenrodGameCornerTMVendor_FinishScript
.FireBlast:
checkcoins GOLDENRODGAMECORNER_TM38_COINS
ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
getitemname STRING_BUFFER_3, TM_FIRE_BLAST
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
giveitem TM_FIRE_BLAST
iffalse GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
takecoins GOLDENRODGAMECORNER_TM38_COINS
sjump GoldenrodGameCornerTMVendor_FinishScript
GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript:
writetext GoldenrodGameCornerPrizeVendorConfirmPrizeText
yesorno
end
GoldenrodGameCornerTMVendor_FinishScript:
waitsfx
playsound SFX_TRANSACTION
writetext GoldenrodGameCornerPrizeVendorHereYouGoText
waitbutton
sjump GoldenrodGameCornerTMVendor_LoopScript
GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript:
writetext GoldenrodGameCornerPrizeVendorNeedMoreCoinsText
waitbutton
closetext
end
GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript:
writetext GoldenrodGameCornerPrizeVendorNoMoreRoomText
waitbutton
closetext
end
GoldenrodGameCornerPrizeVendor_CancelPurchaseScript:
writetext GoldenrodGameCornerPrizeVendorQuitText
waitbutton
closetext
end
GoldenrodGameCornerPrizeVendor_NoCoinCaseScript:
writetext GoldenrodGameCornerPrizeVendorNoCoinCaseText
waitbutton
closetext
end
GoldenrodGameCornerTMVendorMenuHeader:
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 "TM25 5500@"
db "TM14 5500@"
db "TM38 5500@"
db "CANCEL@"
GoldenrodGameCornerPrizeMonVendorScript:
faceplayer
opentext
writetext GoldenrodGameCornerPrizeVendorIntroText
waitbutton
checkitem COIN_CASE
iffalse GoldenrodGameCornerPrizeVendor_NoCoinCaseScript
checkver
iftrue .Silver_Loop
.Gold_Loop:
writetext GoldenrodGameCornerPrizeVendorWhichPrizeText
special DisplayCoinCaseBalance
loadmenu .Gold_MenuHeader
verticalmenu
closewindow
ifequal 1, .Gold_Abra
ifequal 2, .Gold_Ekans
ifequal 3, .Gold_Dratini
sjump GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
.Gold_Abra:
checkcoins GOLDENRODGAMECORNER_ABRA_COINS
ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
readvar VAR_PARTYCOUNT
ifequal PARTY_LENGTH, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
getmonname STRING_BUFFER_3, ABRA
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
waitsfx
playsound SFX_TRANSACTION
writetext GoldenrodGameCornerPrizeVendorHereYouGoText
waitbutton
setval ABRA
special GameCornerPrizeMonCheckDex
givepoke ABRA, 10
takecoins GOLDENRODGAMECORNER_ABRA_COINS
sjump .Gold_Loop
.Gold_Ekans:
checkcoins GOLDENRODGAMECORNER_EKANS_COINS
ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
readvar VAR_PARTYCOUNT
ifequal PARTY_LENGTH, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
getmonname STRING_BUFFER_3, EKANS
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
waitsfx
playsound SFX_TRANSACTION
writetext GoldenrodGameCornerPrizeVendorHereYouGoText
waitbutton
setval EKANS
special GameCornerPrizeMonCheckDex
givepoke EKANS, 10
takecoins GOLDENRODGAMECORNER_EKANS_COINS
sjump .Gold_Loop
.Gold_Dratini:
checkcoins GOLDENRODGAMECORNER_DRATINI_COINS
ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
readvar VAR_PARTYCOUNT
ifequal PARTY_LENGTH, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
getmonname STRING_BUFFER_3, DRATINI
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
waitsfx
playsound SFX_TRANSACTION
writetext GoldenrodGameCornerPrizeVendorHereYouGoText
waitbutton
setval DRATINI
special GameCornerPrizeMonCheckDex
givepoke DRATINI, 10
takecoins GOLDENRODGAMECORNER_DRATINI_COINS
sjump .Gold_Loop
.Gold_MenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 2, 17, TEXTBOX_Y - 1
dw .Gold_MenuData
db 1 ; default option
.Gold_MenuData:
db STATICMENU_CURSOR ; flags
db 4 ; items
db "ABRA 200@"
db "EKANS 700@"
db "DRATINI 2100@"
db "CANCEL@"
.Silver_Loop:
writetext GoldenrodGameCornerPrizeVendorWhichPrizeText
special DisplayCoinCaseBalance
loadmenu .Silver_MenuHeader
verticalmenu
closewindow
ifequal 1, .Silver_Abra
ifequal 2, .Silver_Sandshrew
ifequal 3, .Silver_Dratini
sjump GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
.Silver_Abra:
checkcoins GOLDENRODGAMECORNER_ABRA_COINS
ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
readvar VAR_PARTYCOUNT
ifequal PARTY_LENGTH, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
getmonname STRING_BUFFER_3, ABRA
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
waitsfx
playsound SFX_TRANSACTION
writetext GoldenrodGameCornerPrizeVendorHereYouGoText
waitbutton
setval ABRA
special GameCornerPrizeMonCheckDex
givepoke ABRA, 10
takecoins GOLDENRODGAMECORNER_ABRA_COINS
sjump .Silver_Loop
.Silver_Sandshrew:
checkcoins GOLDENRODGAMECORNER_SANDSHREW_COINS
ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
readvar VAR_PARTYCOUNT
ifequal PARTY_LENGTH, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
getmonname STRING_BUFFER_3, SANDSHREW
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
waitsfx
playsound SFX_TRANSACTION
writetext GoldenrodGameCornerPrizeVendorHereYouGoText
waitbutton
setval SANDSHREW
special GameCornerPrizeMonCheckDex
givepoke SANDSHREW, 10
takecoins GOLDENRODGAMECORNER_SANDSHREW_COINS
sjump .Silver_Loop
.Silver_Dratini:
checkcoins GOLDENRODGAMECORNER_DRATINI_COINS
ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
readvar VAR_PARTYCOUNT
ifequal PARTY_LENGTH, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
getmonname STRING_BUFFER_3, DRATINI
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
waitsfx
playsound SFX_TRANSACTION
writetext GoldenrodGameCornerPrizeVendorHereYouGoText
waitbutton
setval DRATINI
special GameCornerPrizeMonCheckDex
givepoke DRATINI, 10
takecoins GOLDENRODGAMECORNER_DRATINI_COINS
sjump .Silver_Loop
.Silver_MenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 2, 17, TEXTBOX_Y - 1
dw .Silver_MenuData
db 1 ; default option
.Silver_MenuData:
db STATICMENU_CURSOR ; flags
db 4 ; items
db "ABRA 200@"
db "SANDSHREW 700@"
db "DRATINI 2100@"
db "CANCEL@"
GoldenrodGameCornerPharmacistScript:
faceplayer
opentext
writetext GoldenrodGameCornerPharmacistText
waitbutton
closetext
turnobject LAST_TALKED, LEFT
end
GoldenrodGameCornerPokefanM1Script:
faceplayer
opentext
writetext GoldenrodGameCornerPokefanM1Text
waitbutton
closetext
turnobject GOLDENRODGAMECORNER_POKEFAN_M1, RIGHT
end
GoldenrodGameCornerCooltrainerMScript:
faceplayer
opentext
writetext GoldenrodGameCornerCooltrainerMText
waitbutton
closetext
turnobject GOLDENRODGAMECORNER_COOLTRAINER_M, LEFT
end
GoldenrodGameCornerPokefanFScript:
faceplayer
opentext
writetext GoldenrodGameCornerPokefanFText
waitbutton
closetext
turnobject GOLDENRODGAMECORNER_POKEFAN_F, RIGHT
end
GoldenrodGameCornerCooltrainerFScript:
jumptextfaceplayer GoldenrodGameCornerCooltrainerFText
GoldenrodGameCornerGentlemanScript:
faceplayer
opentext
writetext GoldenrodGameCornerGentlemanText
waitbutton
closetext
turnobject GOLDENRODGAMECORNER_GENTLEMAN, RIGHT
end
GoldenrodGameCornerPokefanM2Script:
jumptextfaceplayer GoldenrodGameCornerPokefanM2Text
GoldenrodGameCornerSlotsMachineScript:
random 6
ifequal 0, GoldenrodGameCornerLuckySlotsMachineScript
reanchormap
setval FALSE
special SlotMachine
closetext
end
GoldenrodGameCornerLuckySlotsMachineScript:
reanchormap
setval TRUE
special SlotMachine
closetext
end
GoldenrodGameCornerCardFlipMachineScript:
reanchormap
special CardFlip
closetext
end
GoldenrodGameCornerPrizeVendorIntroText:
text "Welcome!"
para "We exchange your"
line "game coins for"
cont "fabulous prizes!"
done
GoldenrodGameCornerPrizeVendorWhichPrizeText:
text "Which prize would"
line "you like?"
done
GoldenrodGameCornerPrizeVendorConfirmPrizeText:
text_ram wStringBuffer3
text "."
line "Is that right?"
done
GoldenrodGameCornerPrizeVendorHereYouGoText:
text "Here you go!"
done
GoldenrodGameCornerPrizeVendorNeedMoreCoinsText:
text "Sorry! You need"
line "more coins."
done
GoldenrodGameCornerPrizeVendorNoMoreRoomText:
text "Sorry. You can't"
line "carry any more."
done
GoldenrodGameCornerPrizeVendorQuitText:
text "OK. Please save"
line "your coins and"
cont "come again!"
done
GoldenrodGameCornerPrizeVendorNoCoinCaseText:
text "Oh? You don't have"
line "a COIN CASE."
done
GoldenrodGameCornerPharmacistText:
text "I always play this"
line "slot machine. It"
para "pays out more than"
line "others, I think."
done
GoldenrodGameCornerPokefanM1Text:
text "I just love this"
line "new slot machine."
para "It's more of a"
line "challenge than the"
cont "ones in CELADON."
done
GoldenrodGameCornerCooltrainerMText:
text "Life is a gamble."
line "I'm going to flip"
cont "cards till I drop!"
done
GoldenrodGameCornerPokefanFText:
text "Card flip…"
para "I prefer it over"
line "the slots because"
para "it's easier to"
line "figure the odds."
para "But the payout is"
line "much lower."
done
GoldenrodGameCornerCooltrainerFText:
text "I won't quit until"
line "I win!"
done
GoldenrodGameCornerGentlemanText:
text "I taught BLIZZARD"
line "to my #MON."
para "It was hard to get"
line "enough coins for"
para "it, but it was"
line "worth it."
done
GoldenrodGameCornerPokefanM2Text:
text "I couldn't win at"
line "the slots, and I"
para "blew it on card"
line "flipping…"
para "I got so furious,"
line "I tossed out my"
para "COIN CASE in the"
line "UNDERGROUND."
done
GoldenrodGameCorner_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 2, 13, GOLDENROD_CITY, 11
warp_event 3, 13, GOLDENROD_CITY, 11
def_coord_events
def_bg_events
bg_event 6, 6, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 6, 7, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 6, 8, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 6, 9, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 6, 10, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 6, 11, BGEVENT_RIGHT, GoldenrodGameCornerSlotsMachineScript
bg_event 7, 6, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 7, 7, BGEVENT_READ, GoldenrodGameCornerLuckySlotsMachineScript
bg_event 7, 8, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 7, 9, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 7, 10, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 7, 11, BGEVENT_LEFT, GoldenrodGameCornerSlotsMachineScript
bg_event 12, 6, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 12, 7, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 12, 8, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 12, 9, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 12, 10, BGEVENT_READ, GoldenrodGameCornerSlotsMachineScript
bg_event 12, 11, BGEVENT_RIGHT, GoldenrodGameCornerSlotsMachineScript
bg_event 13, 6, BGEVENT_READ, GoldenrodGameCornerCardFlipMachineScript
bg_event 13, 7, BGEVENT_READ, GoldenrodGameCornerCardFlipMachineScript
bg_event 13, 8, BGEVENT_READ, GoldenrodGameCornerCardFlipMachineScript
bg_event 13, 9, BGEVENT_READ, GoldenrodGameCornerCardFlipMachineScript
bg_event 13, 10, BGEVENT_READ, GoldenrodGameCornerCardFlipMachineScript
bg_event 13, 11, BGEVENT_LEFT, GoldenrodGameCornerCardFlipMachineScript
bg_event 18, 6, BGEVENT_READ, GoldenrodGameCornerCardFlipMachineScript
bg_event 18, 7, BGEVENT_READ, GoldenrodGameCornerCardFlipMachineScript
bg_event 18, 8, BGEVENT_READ, GoldenrodGameCornerCardFlipMachineScript
bg_event 18, 9, BGEVENT_READ, GoldenrodGameCornerCardFlipMachineScript
bg_event 18, 10, BGEVENT_READ, GoldenrodGameCornerCardFlipMachineScript
bg_event 18, 11, BGEVENT_RIGHT, GoldenrodGameCornerCardFlipMachineScript
def_object_events
object_event 3, 2, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodGameCornerCoinVendorScript, -1
object_event 16, 2, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodGameCornerTMVendorScript, -1
object_event 18, 2, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodGameCornerPrizeMonVendorScript, -1
object_event 8, 7, SPRITE_PHARMACIST, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, DAY, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, GoldenrodGameCornerPharmacistScript, -1
object_event 8, 7, SPRITE_PHARMACIST, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, NITE, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, GoldenrodGameCornerPharmacistScript, -1
object_event 11, 10, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, GoldenrodGameCornerPokefanM1Script, -1
object_event 14, 8, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, GoldenrodGameCornerCooltrainerMScript, -1
object_event 17, 6, SPRITE_POKEFAN_F, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodGameCornerPokefanFScript, -1
object_event 10, 3, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodGameCornerCooltrainerFScript, -1
object_event 5, 10, SPRITE_GENTLEMAN, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, GoldenrodGameCornerGentlemanScript, -1
object_event 2, 9, SPRITE_POKEFAN_M, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, GoldenrodGameCornerPokefanM2Script, -1