2025-04-22 16:50:58 +08:00

340 lines
14 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Route113_GlassWorkshop_MapScripts::
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:
setflag FLAG_LANDMARK_GLASS_WORKSHOP
call_if_eq VAR_GLASS_WORKSHOP_STATE, 1, Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack
end
Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack::
setvar VAR_GLASS_WORKSHOP_STATE, 2
return
Route113_GlassWorkshop_EventScript_GlassWorker::
lock
faceplayer
goto_if_ge VAR_GLASS_WORKSHOP_STATE, 10, Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom
goto_if_eq VAR_GLASS_WORKSHOP_STATE, 2, Route113_GlassWorkshop_EventScript_CheckCollectedAsh
goto_if_eq VAR_GLASS_WORKSHOP_STATE, 1, Route113_GlassWorkshop_EventScript_ExplainSootSack
msgbox Route113_GlassWorkshop_Text_GoCollectAshWithThis, MSGBOX_DEFAULT
giveitem ITEM_SOOT_SACK
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setvar VAR_GLASS_WORKSHOP_STATE, 1
msgbox Route113_GlassWorkshop_Text_ExplainSootSack, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_ExplainSootSack::
msgbox Route113_GlassWorkshop_Text_ExplainSootSack, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_CheckCollectedAsh::
checkitem ITEM_SOOT_SACK
goto_if_eq VAR_RESULT, FALSE, Route113_GlassWorkshop_EventScript_SootSackNotInBag
msgbox Route113_GlassWorkshop_Text_LetsSeeCollectedAshes, MSGBOX_DEFAULT
goto_if_lt VAR_ASH_GATHER_COUNT, LOWEST_ASH_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAsh
message Route113_GlassWorkshop_Text_WhichGlassItemWoudYouLike
waitmessage
goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
end
Route113_GlassWorkshop_EventScript_SootSackNotInBag::
msgbox Route113_GlassWorkshop_Text_HaventGotYourSootSack, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_ChooseGlassItem::
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::
setvar VAR_0x8008, ITEM_BLUE_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, BLUE_FLUTE_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, BLUE_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, 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::
setvar VAR_0x8008, ITEM_YELLOW_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, YELLOW_FLUTE_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, YELLOW_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, 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::
setvar VAR_0x8008, ITEM_RED_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, RED_FLUTE_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, RED_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, 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::
setvar VAR_0x8008, ITEM_WHITE_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, WHITE_FLUTE_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, WHITE_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, 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::
setvar VAR_0x8008, ITEM_BLACK_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, BLACK_FLUTE_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, BLACK_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, 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::
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_CHAIR
bufferdecorationname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, PRETTY_CHAIR_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, PRETTY_CHAIR_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, 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::
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_DESK
bufferdecorationname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, PRETTY_DESK_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, PRETTY_DESK_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, 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::
msgbox Route113_GlassWorkshop_Text_AllThatAshButDontWantAnything, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_NotEnoughAsh::
setvar VAR_0x800A, LOWEST_ASH_PRICE
subvar VAR_0x800A, VAR_ASH_GATHER_COUNT
buffernumberstring STR_VAR_1, VAR_0x800A
msgbox Route113_GlassWorkshop_Text_NotEnoughAshNeedX, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_NotEnoughAshForItem::
subvar VAR_0x800A, VAR_ASH_GATHER_COUNT
buffernumberstring STR_VAR_2, VAR_0x800A
message Route113_GlassWorkshop_Text_NotEnoughAshToMakeItem
waitmessage
goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
end
Route113_GlassWorkshop_EventScript_ChooseDifferentItem::
message Route113_GlassWorkshop_Text_WhichWouldYouLike
waitmessage
goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
end
Route113_GlassWorkshop_EventScript_MakeGlassItem::
msgbox Route113_GlassWorkshop_Text_IllMakeItemForYou, MSGBOX_DEFAULT
closemessage
fadescreen FADE_TO_BLACK
playse SE_SELECT
delay 30
fadescreen FADE_FROM_BLACK
msgbox Route113_GlassWorkshop_Text_IveFinishedGlassItem, MSGBOX_DEFAULT
call_if_eq VAR_0x8009, 0, Route113_GlassWorkshop_EventScript_GiveGlassFlute
call_if_eq VAR_0x8009, 1, Route113_GlassWorkshop_EventScript_GiveGlassDecor
setvar VAR_GLASS_WORKSHOP_STATE, 2
release
end
Route113_GlassWorkshop_EventScript_GiveGlassFlute::
giveitem VAR_0x8008
goto_if_eq VAR_RESULT, FALSE, Route113_GlassWorkshop_EventScript_NoRoomForFlute
return
Route113_GlassWorkshop_EventScript_GiveGlassDecor::
givedecoration VAR_0x8008
goto_if_eq VAR_RESULT, FALSE, Route113_GlassWorkshop_EventScript_NoRoomForDecor
return
Route113_GlassWorkshop_EventScript_NoRoomForFlute::
call Common_EventScript_BagIsFull
msgbox Route113_GlassWorkshop_Text_NoRoomInBag, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_NoRoomForDecor::
call Common_EventScript_NoRoomForDecor
msgbox Route113_GlassWorkshop_Text_NoRoomInPC, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom::
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::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_BLUE_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveYellowFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_YELLOW_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveRedFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_RED_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveWhiteFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_WHITE_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveBlackFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_BLACK_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GivePrettyChair::
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_CHAIR
bufferdecorationname STR_VAR_1, DECOR_PRETTY_CHAIR
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GivePrettyDesk::
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_DESK
bufferdecorationname STR_VAR_1, DECOR_PRETTY_DESK
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_TryGiveItemAgain::
msgbox Route113_GlassWorkshop_Text_IveFinishedGlassItem, MSGBOX_DEFAULT
call_if_eq VAR_0x8009, 0, Route113_GlassWorkshop_EventScript_GiveGlassFlute
call_if_eq VAR_0x8009, 1, Route113_GlassWorkshop_EventScript_GiveGlassDecor
setvar VAR_GLASS_WORKSHOP_STATE, 2
release
end
Route113_GlassWorkshop_EventScript_NinjaBoy::
msgbox Route113_GlassWorkshop_Text_FunToBlowGlassFlute, MSGBOX_NPC
end
Route113_GlassWorkshop_Text_GoCollectAshWithThis:
.string "这里到处是火山灰,\n呼呼!\p我有种特别的天赋呼呼\p我可以利用火山灰\n制作玻璃,呼呼。\p用这个去收集火山灰吧呼呼。$"
Route113_GlassWorkshop_Text_ExplainSootSack:
.string "只要带上这个集灰袋在\n满是火山灰的地方走,呼呼,\p它就会将火山灰收集起来\n呼呼。\p当你觉得收集了不少火山灰之后\n就回来找我吧,呼呼。$"
Route113_GlassWorkshop_Text_LetsSeeCollectedAshes:
.string "火山灰收集得怎么样了,呼呼?\n我看看,呼呼。$"
Route113_GlassWorkshop_Text_NotEnoughAshNeedX:
.string "唔……\n不是很多啊,呼呼。\l这一点不够制造玻璃哨的呼呼。\p嗯……再走{STR_VAR_1}步\n我就可以制造\l蓝色玻璃哨了呼呼。$"
Route113_GlassWorkshop_Text_WhichGlassItemWoudYouLike:
.string "哦!\n你收集了不少火山灰了,呼呼!\p我这就给你制造玻璃呼呼。\n你想要什么样的,呼呼?$"
Route113_GlassWorkshop_Text_IsThatTheItemForYou:
.string "{STR_VAR_1}是吗?呼呼。\n你确定吗?呼呼。$"
Route113_GlassWorkshop_Text_WhichWouldYouLike:
.string "你想要什么样的,呼呼?$"
Route113_GlassWorkshop_Text_IllMakeItemForYou:
.string "那么,是{STR_VAR_1}了,呼呼!\p好我这就开始呼呼。\n稍等一下就好了,呼呼。$"
Route113_GlassWorkshop_Text_NotEnoughAshToMakeItem:
.string "{STR_VAR_1}吗?呼呼。\p做它的话火山灰不够啊\n呼呼。\p我看看……要做这个还要再走{STR_VAR_2}步\n才能收集到足够的火山灰,\l呼呼。\p那么你还希望我\n为你做什么?呼呼。$"
Route113_GlassWorkshop_Text_AllThatAshButDontWantAnything:
.string "收集了那么多火山灰,但\n你没有想要的东西吗?呼呼。$"
Route113_GlassWorkshop_Text_IveFinishedGlassItem:
.string "啊,你的{STR_VAR_1}做好了。\n拿去吧,呼呼。$"
Route113_GlassWorkshop_Text_NoRoomInBag:
.string "哦?\n你的包包里面没有地方了,呼呼。\p我先替你保管着以后再来吧\n呼呼。$"
Route113_GlassWorkshop_Text_NoRoomInPC:
.string "哦?\n你的电脑里面没有地方了,呼呼。\p我先替你保管者以后再来吧\n呼呼。$"
Route113_GlassWorkshop_Text_HaventGotYourSootSack:
.string "哎?你没带你的集灰袋啊,\n呼呼。\p要收集火山灰就一定\n要带上它,呼呼。$"
Route113_GlassWorkshop_Text_FunToBlowGlassFlute:
.string "在老板说话的时候\n吹玻璃真好玩,\p呼呼呼呼$"