ref: 376c64468bab8d162da43fc6e1b6f0942943cf43
dir: /maps/GoldenrodGameCorner.asm/
const_def 2 ; object constants 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 const GOLDENRODGAMECORNER_MOVETUTOR GoldenrodGameCorner_MapScripts: db 0 ; scene scripts db 1 ; callbacks callback MAPCALLBACK_OBJECTS, .MoveTutor .MoveTutor: checkevent EVENT_BEAT_ELITE_FOUR iffalse .finish checkitem COIN_CASE iffalse .move_tutor_inside checkcode VAR_WEEKDAY ifequal WEDNESDAY, .move_tutor_outside ifequal SATURDAY, .move_tutor_outside .move_tutor_inside appear GOLDENRODGAMECORNER_MOVETUTOR return .move_tutor_outside checkflag ENGINE_DAILY_MOVE_TUTOR iftrue .finish disappear GOLDENRODGAMECORNER_MOVETUTOR .finish return MoveTutorInsideScript: faceplayer opentext writetext MoveTutorInsideText waitbutton closetext turnobject GOLDENRODGAMECORNER_MOVETUTOR, RIGHT end GoldenrodGameCornerCoinVendorScript: jumpstd gamecornercoinvendor 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 jump GoldenrodGameCornerPrizeVendor_CancelPurchaseScript .Thunder: checkcoins 5500 ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript itemtotext TM_THUNDER, MEM_BUFFER_0 scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript giveitem TM_THUNDER iffalse GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript takecoins 5500 jump GoldenrodGameCornerTMVendor_FinishScript .Blizzard: checkcoins 5500 ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript itemtotext TM_BLIZZARD, MEM_BUFFER_0 scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript giveitem TM_BLIZZARD iffalse GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript takecoins 5500 jump GoldenrodGameCornerTMVendor_FinishScript .FireBlast: checkcoins 5500 ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript itemtotext TM_FIRE_BLAST, MEM_BUFFER_0 scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript giveitem TM_FIRE_BLAST iffalse GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript takecoins 5500 jump GoldenrodGameCornerTMVendor_FinishScript GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript: writetext GoldenrodGameCornerPrizeVendorConfirmPrizeText yesorno end GoldenrodGameCornerTMVendor_FinishScript: waitsfx playsound SFX_TRANSACTION writetext GoldenrodGameCornerPrizeVendorHereYouGoText waitbutton jump 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 .loop writetext GoldenrodGameCornerPrizeVendorWhichPrizeText special DisplayCoinCaseBalance loadmenu .MenuHeader verticalmenu closewindow ifequal 1, .abra ifequal 2, .cubone ifequal 3, .wobbuffet jump GoldenrodGameCornerPrizeVendor_CancelPurchaseScript .abra checkcoins 100 ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript checkcode VAR_PARTYCOUNT ifequal PARTY_LENGTH, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript pokenamemem ABRA, MEM_BUFFER_0 scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript waitsfx playsound SFX_TRANSACTION writetext GoldenrodGameCornerPrizeVendorHereYouGoText waitbutton writebyte ABRA special GameCornerPrizeMonCheckDex givepoke ABRA, 5 takecoins 100 jump .loop .cubone checkcoins 800 ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript checkcode VAR_PARTYCOUNT ifequal PARTY_LENGTH, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript pokenamemem CUBONE, MEM_BUFFER_0 scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript waitsfx playsound SFX_TRANSACTION writetext GoldenrodGameCornerPrizeVendorHereYouGoText waitbutton writebyte CUBONE special GameCornerPrizeMonCheckDex givepoke CUBONE, 15 takecoins 800 jump .loop .wobbuffet checkcoins 1500 ifequal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript checkcode VAR_PARTYCOUNT ifequal PARTY_LENGTH, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript pokenamemem WOBBUFFET, MEM_BUFFER_0 scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript waitsfx playsound SFX_TRANSACTION writetext GoldenrodGameCornerPrizeVendorHereYouGoText waitbutton writebyte WOBBUFFET special GameCornerPrizeMonCheckDex givepoke WOBBUFFET, 15 takecoins 1500 jump .loop .MenuHeader: db MENU_BACKUP_TILES ; flags menu_coords 0, 2, 17, TEXTBOX_Y - 1 dw .MenuData db 1 ; default option .MenuData: db STATICMENU_CURSOR ; flags db 4 ; items db "ABRA 100@" db "CUBONE 800@" db "WOBBUFFET 1500@" 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 GoldenrodGameCornerLeftTheirDrinkScript: jumptext GoldenrodGameCornerLeftTheirDrinkText GoldenrodGameCornerSlotsMachineScript: random 6 ifequal 0, GoldenrodGameCornerLuckySlotsMachineScript refreshscreen writebyte FALSE special SlotMachine closetext end GoldenrodGameCornerLuckySlotsMachineScript: refreshscreen writebyte TRUE special SlotMachine closetext end GoldenrodGameCornerCardFlipMachineScript: refreshscreen 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_from_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 MoveTutorInsideText: text "Wahahah! The coins" line "keep rolling in!" done GoldenrodGameCornerLeftTheirDrinkText: text "Someone left their" line "drink." para "It smells sweet." done GoldenrodGameCorner_MapEvents: db 0, 0 ; filler db 2 ; warp events warp_event 2, 13, GOLDENROD_CITY, 10 warp_event 3, 13, GOLDENROD_CITY, 10 db 0 ; coord events db 31 ; 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 bg_event 12, 1, BGEVENT_LEFT, GoldenrodGameCornerLeftTheirDrinkScript db 12 ; 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 object_event 17, 10, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, MoveTutorInsideScript, EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR