pokeemerald/data/maps/Route113_GlassWorkshop/scripts.inc

407 lines
15 KiB
PHP

Route113_GlassWorkshop_MapScripts:: @ 826ED03
map_script MAP_SCRIPT_ON_TRANSITION, Route113_GlassWorkshop_OnTransition
.byte 0
.set BLUE_FLUTE_PRICE, 250
.set YELLOW_FLUTE_PRICE, 500
.set RED_FLUTE_PRICE, 500
.set WHITE_FLUTE_PRICE, 1000
.set BLACK_FLUTE_PRICE, 1000
.set PRETTY_CHAIR_PRICE, 6000
.set PRETTY_DESK_PRICE, 8000
.set LOWEST_ASH_PRICE, BLUE_FLUTE_PRICE
Route113_GlassWorkshop_OnTransition: @ 826ED09
setflag FLAG_LANDMARK_GLASS_WORKSHOP
compare VAR_GLASS_WORKSHOP_STATE, 1
call_if_eq Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack
end
Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack:: @ 826ED18
setvar VAR_GLASS_WORKSHOP_STATE, 2
return
Route113_GlassWorkshop_EventScript_GlassWorker:: @ 826ED1E
lock
faceplayer
compare VAR_GLASS_WORKSHOP_STATE, 10
goto_if_ge Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom
compare VAR_GLASS_WORKSHOP_STATE, 2
goto_if_eq Route113_GlassWorkshop_EventScript_CheckCollectedAsh
compare VAR_GLASS_WORKSHOP_STATE, 1
goto_if_eq Route113_GlassWorkshop_EventScript_ExplainSootSack
msgbox Route113_GlassWorkshop_Text_GoCollectAshWithThis, MSGBOX_DEFAULT
giveitem_std ITEM_SOOT_SACK
setvar VAR_GLASS_WORKSHOP_STATE, 1
msgbox Route113_GlassWorkshop_Text_ExplainSootSack, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_ExplainSootSack:: @ 826ED64
msgbox Route113_GlassWorkshop_Text_ExplainSootSack, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_CheckCollectedAsh:: @ 826ED6E
checkitem ITEM_SOOT_SACK, 1
compare VAR_RESULT, FALSE
goto_if_eq Route113_GlassWorkshop_EventScript_SootSackNotInBag
msgbox Route113_GlassWorkshop_Text_LetsSeeCollectedAshes, MSGBOX_DEFAULT
compare VAR_ASH_GATHER_COUNT, LOWEST_ASH_PRICE
goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAsh
message Route113_GlassWorkshop_Text_WhichGlassItemWoudYouLike
waitmessage
goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
end
Route113_GlassWorkshop_EventScript_SootSackNotInBag:: @ 826ED9D
msgbox Route113_GlassWorkshop_Text_HaventGotYourSootSack, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_ChooseGlassItem:: @ 826EDA7
setvar VAR_0x8009, 0
setvar VAR_0x8004, SCROLL_MULTI_GLASS_WORKSHOP_VENDOR
special ShowScrollableMultichoice
waitstate
switch VAR_RESULT
case 0, Route113_GlassWorkshop_EventScript_BlueFlute
case 1, Route113_GlassWorkshop_EventScript_YellowFlute
case 2, Route113_GlassWorkshop_EventScript_RedFlute
case 3, Route113_GlassWorkshop_EventScript_WhiteFlute
case 4, Route113_GlassWorkshop_EventScript_BlackFlute
case 5, Route113_GlassWorkshop_EventScript_PrettyChair
case 6, Route113_GlassWorkshop_EventScript_PrettyDesk
case 7, Route113_GlassWorkshop_EventScript_CancelGlassItemSelect
case MULTI_B_PRESSED, Route113_GlassWorkshop_EventScript_CancelGlassItemSelect
end
Route113_GlassWorkshop_EventScript_BlueFlute:: @ 826EE1E
setvar VAR_0x8008, ITEM_BLUE_FLUTE
bufferitemname 0, VAR_0x8008
setvar VAR_0x800A, BLUE_FLUTE_PRICE
compare VAR_ASH_GATHER_COUNT, BLUE_FLUTE_PRICE
goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 10
subvar VAR_ASH_GATHER_COUNT, BLUE_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_YellowFlute:: @ 826EE5A
setvar VAR_0x8008, ITEM_YELLOW_FLUTE
bufferitemname 0, VAR_0x8008
setvar VAR_0x800A, YELLOW_FLUTE_PRICE
compare VAR_ASH_GATHER_COUNT, YELLOW_FLUTE_PRICE
goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 11
subvar VAR_ASH_GATHER_COUNT, YELLOW_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_RedFlute:: @ 826EE96
setvar VAR_0x8008, ITEM_RED_FLUTE
bufferitemname 0, VAR_0x8008
setvar VAR_0x800A, RED_FLUTE_PRICE
compare VAR_ASH_GATHER_COUNT, RED_FLUTE_PRICE
goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 12
subvar VAR_ASH_GATHER_COUNT, RED_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_WhiteFlute:: @ 826EED2
setvar VAR_0x8008, ITEM_WHITE_FLUTE
bufferitemname 0, VAR_0x8008
setvar VAR_0x800A, WHITE_FLUTE_PRICE
compare VAR_ASH_GATHER_COUNT, WHITE_FLUTE_PRICE
goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 13
subvar VAR_ASH_GATHER_COUNT, WHITE_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_BlackFlute:: @ 826EF0E
setvar VAR_0x8008, ITEM_BLACK_FLUTE
bufferitemname 0, VAR_0x8008
setvar VAR_0x800A, BLACK_FLUTE_PRICE
compare VAR_ASH_GATHER_COUNT, BLACK_FLUTE_PRICE
goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 14
subvar VAR_ASH_GATHER_COUNT, BLACK_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_PrettyChair:: @ 826EF4A
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_CHAIR
bufferdecorationname 0, VAR_0x8008
setvar VAR_0x800A, PRETTY_CHAIR_PRICE
compare VAR_ASH_GATHER_COUNT, PRETTY_CHAIR_PRICE
goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 15
subvar VAR_ASH_GATHER_COUNT, PRETTY_CHAIR_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_PrettyDesk:: @ 826EF8B
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_DESK
bufferdecorationname 0, VAR_0x8008
setvar VAR_0x800A, PRETTY_DESK_PRICE
compare VAR_ASH_GATHER_COUNT, PRETTY_DESK_PRICE
goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 16
subvar VAR_ASH_GATHER_COUNT, PRETTY_DESK_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_CancelGlassItemSelect:: @ 826EFCC
msgbox Route113_GlassWorkshop_Text_AllThatAshButDontWantAnything, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_NotEnoughAsh:: @ 826EFD6
setvar VAR_0x800A, LOWEST_ASH_PRICE
subvar VAR_0x800A, VAR_ASH_GATHER_COUNT
buffernumberstring 0, VAR_0x800A
msgbox Route113_GlassWorkshop_Text_NotEnoughAshNeedX, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_NotEnoughAshForItem:: @ 826EFEE
subvar VAR_0x800A, VAR_ASH_GATHER_COUNT
buffernumberstring 1, VAR_0x800A
message Route113_GlassWorkshop_Text_NotEnoughAshToMakeItem
waitmessage
goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
end
Route113_GlassWorkshop_EventScript_ChooseDifferentItem:: @ 826F003
message Route113_GlassWorkshop_Text_WhichWouldYouLike
waitmessage
goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
end
Route113_GlassWorkshop_EventScript_MakeGlassItem:: @ 826F00F
msgbox Route113_GlassWorkshop_Text_IllMakeItemForYou, MSGBOX_DEFAULT
closemessage
fadescreen 1
playse SE_SELECT
delay 30
fadescreen 0
msgbox Route113_GlassWorkshop_Text_IveFinishedGlassItem, MSGBOX_DEFAULT
compare VAR_0x8009, 0
call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassFlute
compare VAR_0x8009, 1
call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassDecor
setvar VAR_GLASS_WORKSHOP_STATE, 2
release
end
Route113_GlassWorkshop_EventScript_GiveGlassFlute:: @ 826F047
giveitem_std VAR_0x8008
compare VAR_RESULT, FALSE
goto_if_eq Route113_GlassWorkshop_EventScript_NoRoomForFlute
return
Route113_GlassWorkshop_EventScript_GiveGlassDecor:: @ 826F05F
givedecoration_std VAR_0x8008
compare VAR_RESULT, FALSE
goto_if_eq Route113_GlassWorkshop_EventScript_NoRoomForDecor
return
Route113_GlassWorkshop_EventScript_NoRoomForFlute:: @ 826F072
call Common_EventScript_BagIsFull
msgbox Route113_GlassWorkshop_Text_NoRoomInBag, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_NoRoomForDecor:: @ 826F081
call Common_EventScript_NoRoomForDecor
msgbox Route113_GlassWorkshop_Text_NoRoomInPC, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom:: @ 826F090
switch VAR_GLASS_WORKSHOP_STATE
case 10, Route113_GlassWorkshop_EventScript_GiveBlueFlute
case 11, Route113_GlassWorkshop_EventScript_GiveYellowFlute
case 12, Route113_GlassWorkshop_EventScript_GiveRedFlute
case 13, Route113_GlassWorkshop_EventScript_GiveWhiteFlute
case 14, Route113_GlassWorkshop_EventScript_GiveBlackFlute
case 15, Route113_GlassWorkshop_EventScript_GivePrettyChair
case 16, Route113_GlassWorkshop_EventScript_GivePrettyDesk
end
Route113_GlassWorkshop_EventScript_GiveBlueFlute:: @ 826F0E3
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_BLUE_FLUTE
bufferitemname 0, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveYellowFlute:: @ 826F0F7
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_YELLOW_FLUTE
bufferitemname 0, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveRedFlute:: @ 826F10B
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_RED_FLUTE
bufferitemname 0, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveWhiteFlute:: @ 826F11F
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_WHITE_FLUTE
bufferitemname 0, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveBlackFlute:: @ 826F133
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_BLACK_FLUTE
bufferitemname 0, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GivePrettyChair:: @ 826F147
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_CHAIR
bufferdecorationname 0, DECOR_PRETTY_CHAIR
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GivePrettyDesk:: @ 826F15B
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_DESK
bufferdecorationname 0, DECOR_PRETTY_DESK
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_TryGiveItemAgain:: @ 826F16F
msgbox Route113_GlassWorkshop_Text_IveFinishedGlassItem, MSGBOX_DEFAULT
compare VAR_0x8009, 0
call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassFlute
compare VAR_0x8009, 1
call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassDecor
setvar VAR_GLASS_WORKSHOP_STATE, 2
release
end
Route113_GlassWorkshop_EventScript_NinjaBoy:: @ 826F194
msgbox Route113_GlassWorkshop_Text_FunToBlowGlassFlute, MSGBOX_NPC
end
Route113_GlassWorkshop_Text_GoCollectAshWithThis: @ 826F19D
.string "This area is covered in volcanic ash,\n"
.string "huff-puff!\p"
.string "I'm specially gifted, huff-puff.\p"
.string "I make glass out of volcanic ash\n"
.string "and make items, huff-puff.\p"
.string "Go collect ashes with this, huff-puff.$"
Route113_GlassWorkshop_Text_ExplainSootSack: @ 826F252
.string "Just take that SOOT SACK and walk\n"
.string "through piles of ash, huff-puff.\p"
.string "And it will fill up with the volcanic ash,\n"
.string "huff-puff.\p"
.string "Once you think you've collected a good\n"
.string "amount, come see me, huff-puff.$"
Route113_GlassWorkshop_Text_LetsSeeCollectedAshes: @ 826F312
.string "Have you collected ashes, huff-puff?\n"
.string "Let me see, huff-puff.$"
Route113_GlassWorkshop_Text_NotEnoughAshNeedX: @ 826F34E
.string "Hmmm…\n"
.string "There's not enough ash here, huff-puff.\l"
.string "I can't make glass with this, huff-puff.\p"
.string "Let's see… {STR_VAR_1} is the number of steps\n"
.string "you'll need to walk for me to make you\l"
.string "a BLUE FLUTE, huff-puff.$"
Route113_GlassWorkshop_Text_WhichGlassItemWoudYouLike: @ 826F40A
.string "Oh!\n"
.string "You've got a lot of ashes, huff-puff!\p"
.string "I'll make you a glass item, huff-puff!\n"
.string "Which one would you like, huff-puff?$"
Route113_GlassWorkshop_Text_IsThatTheItemForYou: @ 826F480
.string "A {STR_VAR_1}, huff-puff?\n"
.string "Is that the one for you, huff-puff?$"
Route113_GlassWorkshop_Text_WhichWouldYouLike: @ 826F4B5
.string "Which one would you like, huff-puff?$"
Route113_GlassWorkshop_Text_IllMakeItemForYou: @ 826F4DA
.string "A {STR_VAR_1} it is, then, huff-puff!\p"
.string "Okay! I'll make it for you, huff-puff.\n"
.string "Just wait a little while, huff-puff.$"
Route113_GlassWorkshop_Text_NotEnoughAshToMakeItem: @ 826F543
.string "A {STR_VAR_1}, huff-puff?\p"
.string "There's not enough ash here to make\n"
.string "that, though, huff-puff.\p"
.string "Let's see… {STR_VAR_2} is the number of steps\n"
.string "you'll need to walk through volcanic ash\l"
.string "for me to make that item, huff-puff.\p"
.string "Which item would you rather have me\n"
.string "make instead, huff-puff?$"
Route113_GlassWorkshop_Text_AllThatAshButDontWantAnything: @ 826F641
.string "You've collected all that ash, but you\n"
.string "don't want anything, huff-puff?$"
Route113_GlassWorkshop_Text_IveFinishedGlassItem: @ 826F688
.string "Ah, I've finished your {STR_VAR_1}.\n"
.string "Take it, huff-puff.$"
Route113_GlassWorkshop_Text_NoRoomInBag: @ 826F6B7
.string "Oh?\n"
.string "You've no room in your BAG, huff-puff.\p"
.string "I'll hold on to it, so come back later,\n"
.string "huff-puff.$"
Route113_GlassWorkshop_Text_NoRoomInPC: @ 826F715
.string "Oh?\n"
.string "You've no room in your PC, huff-puff?\p"
.string "I'll hold on to it, so come back later,\n"
.string "huff-puff.$"
Route113_GlassWorkshop_Text_HaventGotYourSootSack: @ 826F772
.string "Hah? You haven't got your SOOT SACK\n"
.string "with you, huff-puff.\p"
.string "You have to keep it with you to collect\n"
.string "volcanic ash, huff-puff.$"
Route113_GlassWorkshop_Text_FunToBlowGlassFlute: @ 826F7EC
.string "It's fun to blow a glass flute while\n"
.string "my boss is talking.\p"
.string "Huff-huff! Puff-puff!$"