pokecrystal/maps/GoldenrodDeptStore6F.asm

176 lines
3.6 KiB
NASM

const_value set 2
const GOLDENRODDEPTSTORE6F_LASS
const GOLDENRODDEPTSTORE6F_SUPER_NERD
GoldenrodDeptStore6F_MapScriptHeader:
.SceneScripts:
db 0
.MapCallbacks:
db 0
GoldenrodVendingMachine:
opentext
writetext GoldenrodVendingText
.Start:
special PlaceMoneyTopRight
loadmenudata .MenuData
verticalmenu
closewindow
if_equal 1, .FreshWater
if_equal 2, .SodaPop
if_equal 3, .Lemonade
closetext
end
.FreshWater:
checkmoney YOUR_MONEY, 200
if_equal HAVE_LESS, .NotEnoughMoney
giveitem FRESH_WATER
iffalse .NotEnoughSpace
takemoney YOUR_MONEY, 200
itemtotext FRESH_WATER, MEM_BUFFER_0
jump .VendItem
.SodaPop:
checkmoney YOUR_MONEY, 300
if_equal HAVE_LESS, .NotEnoughMoney
giveitem SODA_POP
iffalse .NotEnoughSpace
takemoney YOUR_MONEY, 300
itemtotext SODA_POP, MEM_BUFFER_0
jump .VendItem
.Lemonade:
checkmoney YOUR_MONEY, 350
if_equal HAVE_LESS, .NotEnoughMoney
giveitem LEMONADE
iffalse .NotEnoughSpace
takemoney YOUR_MONEY, 350
itemtotext LEMONADE, MEM_BUFFER_0
jump .VendItem
.VendItem:
pause 10
playsound SFX_ENTER_DOOR
writetext GoldenrodClangText
buttonsound
itemnotify
jump .Start
.NotEnoughMoney:
writetext GoldenrodVendingNoMoneyText
waitbutton
jump .Start
.NotEnoughSpace:
writetext GoldenrodVendingNoSpaceText
waitbutton
jump .Start
.MenuData:
db $40 ; flags
menu_coords 0, 2, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
db $80 ; flags
db 4 ; items
db "FRESH WATER ¥200@"
db "SODA POP ¥300@"
db "LEMONADE ¥350@"
db "CANCEL@"
GoldenrodDeptStore6FLassScript:
jumptextfaceplayer GoldenrodDeptStore6FLassText
GoldenrodDeptStore6FSuperNerdScript:
jumptextfaceplayer GoldenrodDeptStore6FSuperNerdText
GoldenrodDeptStore6FDirectory:
jumptext GoldenrodDeptStore6FDirectoryText
GoldenrodDeptStore6FElevatorButton:
jumpstd elevatorbutton
GoldenrodVendingText:
text "A vending machine!"
line "Here's the menu."
done
GoldenrodClangText:
text "Clang! A can of"
line "@"
text_from_ram StringBuffer3
text ""
cont "popped out!"
done
GoldenrodVendingNoMoneyText:
text "Oops, not enough"
line "money."
done
GoldenrodVendingNoSpaceText:
text "There's no more"
line "room for stuff."
done
GoldenrodDeptStore6FLassText:
text "Do you listen to"
line "LUCKY CHANNEL?"
para "If you want to"
line "win, trade #MON"
para "with as many peo-"
line "ple as possible to"
para "get different ID"
line "numbers."
done
GoldenrodDeptStore6FSuperNerdText:
text "If you're tired,"
line "try the vending"
cont "machine's drinks."
para "Your #MON will"
line "love them too."
done
GoldenrodDeptStore6FDirectoryText:
text "Take a Break from"
line "Shopping!"
para "6F TRANQUIL SQUARE"
done
GoldenrodDeptStore6F_MapEventHeader:
; filler
db 0, 0
.Warps:
db 3
warp_def 15, 0, 2, GOLDENROD_DEPT_STORE_5F
warp_def 2, 0, 1, GOLDENROD_DEPT_STORE_ELEVATOR
warp_def 13, 0, 1, GOLDENROD_DEPT_STORE_ROOF
.CoordEvents:
db 0
.BGEvents:
db 6
bg_event 14, 0, BGEVENT_READ, GoldenrodDeptStore6FDirectory
bg_event 3, 0, BGEVENT_READ, GoldenrodDeptStore6FElevatorButton
bg_event 8, 1, BGEVENT_UP, GoldenrodVendingMachine
bg_event 9, 1, BGEVENT_UP, GoldenrodVendingMachine
bg_event 10, 1, BGEVENT_UP, GoldenrodVendingMachine
bg_event 11, 1, BGEVENT_UP, GoldenrodVendingMachine
.ObjectEvents:
db 2
object_event 10, 2, SPRITE_LASS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore6FLassScript, -1
object_event 8, 2, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore6FSuperNerdScript, -1