@ These are event scripts. They should not be moved to C. #include "constants/flags.h" #include "constants/moves.h" #include "constants/songs.h" #include "constants/species.h" #include "constants/vars.h" #include "constants/items.h" .include "asm/macros.inc" .include "asm/macros/event.inc" .include "constants/constants.inc" .section .rodata .align 2 MysteryEventScript_StampCard:: @ 8488E28 setvaddress MysteryEventScript_StampCard setorcopyvar VAR_RESULT, 1 specialvar VAR_0x8008, Special_BattleCardAction setorcopyvar VAR_RESULT, 0 specialvar VAR_0x8009, Special_BattleCardAction subvar VAR_0x8008, VAR_0x8009 getnumberstring 0, VAR_0x8008 lock faceplayer vmessage sText_MysteryGiftStampCard waitmessage waitbuttonpress release end sText_MysteryGiftStampCard: @ 8488E55 .string "Thank you for using the STAMP CARD\n" .string "System.\p" .string "You have {STR_VAR_1} more to collect to\n" .string "fill your STAMP CARD.$" MysteryEventScript_SurfPichu:: @ 8488EB5 setvaddress MysteryEventScript_SurfPichu checkflag FLAG_MYSTERY_EVENT_DONE vgoto_if FALSE, SurfPichu_GiveIfPossible gotoram SurfPichu_GiveIfPossible: @ 8488EC4 specialvar VAR_EVENT_PICHU_SLOT, CalculatePlayerPartyCount compare_var_to_value VAR_EVENT_PICHU_SLOT, 6 vgoto_if TRUE, SurfPichu_FullParty setflag FLAG_MYSTERY_EVENT_DONE vcall SurfPichu_GiveEgg lock faceplayer vmessage sText_MysteryGiftEgg waitmessage waitbuttonpress playfanfare MUS_FANFA4 waitfanfare release end SurfPichu_FullParty: @ 8488EEB lock faceplayer vmessage sText_FullParty waitmessage waitbuttonpress release end SurfPichu_GiveEgg: @ 8488EF6 giveegg SPECIES_PICHU setmonobedient VAR_EVENT_PICHU_SLOT setmonmetlocation VAR_EVENT_PICHU_SLOT, 0xff compare_var_to_value VAR_EVENT_PICHU_SLOT, 1 vgoto_if TRUE, SurfPichu_Slot1 compare_var_to_value VAR_EVENT_PICHU_SLOT, 2 vgoto_if TRUE, SurfPichu_Slot2 compare_var_to_value VAR_EVENT_PICHU_SLOT, 3 vgoto_if TRUE, SurfPichu_Slot3 compare_var_to_value VAR_EVENT_PICHU_SLOT, 4 vgoto_if TRUE, SurfPichu_Slot4 compare_var_to_value VAR_EVENT_PICHU_SLOT, 5 vgoto_if TRUE, SurfPichu_Slot5 return SurfPichu_Slot1: @ 8488F38 setmonmove 1, 2, MOVE_SURF return SurfPichu_Slot2: @ 8488F3E setmonmove 2, 2, MOVE_SURF return SurfPichu_Slot3: @ 8488F44 setmonmove 3, 2, MOVE_SURF return SurfPichu_Slot4: @ 8488F4A setmonmove 4, 2, MOVE_SURF return SurfPichu_Slot5: @ 8488F50 setmonmove 5, 2, MOVE_SURF return sText_MysteryGiftEgg: @ 8488F56 .string "Thank you for using the MYSTERY\n" .string "GIFT System.\p" .string "From the POKéMON CENTER we\n" .string "have a gift - a POKéMON EGG!\p" .string "Please raise it with love and\n" .string "kindness.$" sText_FullParty: @ 8488FE3 .string "Oh, your party appears to be full.\p" .string "Please come see me after storing\n" .string "a POKéMON on a PC.$" MysteryEventScript_VisitingTrainer:: @ 848903A setvaddress MysteryEventScript_VisitingTrainer special ValidateEReaderTrainer compare_var_to_value VAR_RESULT, 0 vgoto_if TRUE, MysteryEventScript_VisitingTrainerArrived lock faceplayer vmessage sText_MysteryGiftVisitingTrainer waitmessage waitbuttonpress release end MysteryEventScript_VisitingTrainerArrived: @ 8489058 lock faceplayer vmessage sText_MysteryGiftVisitingTrainer_2 waitmessage waitbuttonpress release end sText_MysteryGiftVisitingTrainer: @ 8489063 .string "Thank you for using the MYSTERY\n" .string "GIFT System.\p" .string "By holding this WONDER CARD, you\n" .string "may take part in a survey at a\l" .string "POKéMON MART.\p" .string "Use these surveys to invite\n" .string "TRAINERS to the SEVII ISLANDS.\p" .string "…Let me give you a secret\n" .string "password for a survey:\p" .string "“GIVE ME\n" .string "AWESOME TRAINER”\p" .string "Write that in on a survey and send\n" .string "it to the WIRELESS\l" .string "COMMUNICATION SYSTEM.$" sText_MysteryGiftVisitingTrainer_2: @ 84891B0 .string "Thank you for using the MYSTERY\n" .string "GIFT System.\p" .string "A TRAINER has arrived in the SEVII\n" .string "ISLANDS looking for you.\p" .string "We hope you will enjoy\n" .string "battling the visiting TRAINER.\p" .string "You may invite other TRAINERS by\n" .string "entering other passwords.\p" .string "Try looking for other passwords\n" .string "that may work.$" MysteryEventScript_BattleCard:: @ 84892B9 setvaddress MysteryEventScript_BattleCard checkflag FLAG_MYSTERY_EVENT_DONE vgoto_if TRUE, MysteryEventScript_BattleCardInfo setorcopyvar VAR_RESULT, 2 specialvar VAR_0x8008, Special_BattleCardAction compare_var_to_value VAR_0x8008, 3 vgoto_if FALSE, MysteryEventScript_BattleCardInfo lock faceplayer vmessage sText_MysteryGiftBattleCountCard_2 waitmessage waitbuttonpress giveitem ITEM_POTION release setflag FLAG_MYSTERY_EVENT_DONE end MysteryEventScript_BattleCardInfo: @ 84892F6 lock faceplayer vmessage sText_MysteryGiftBattleCountCard waitmessage waitbuttonpress release end sText_MysteryGiftBattleCountCard: @ 8489301 .string "Thank you for using the MYSTERY\n" .string "GIFT System.\p" .string "Your BATTLE COUNT CARD keeps\n" .string "track of your battle record against\l" .string "TRAINERS with the same CARD.\p" .string "Look for and battle TRAINERS who\n" .string "have the same CARD as you.\p" .string "You may check the overall rankings\n" .string "by reading the NEWS.\p" .string "Please do give it a try!$" sText_MysteryGiftBattleCountCard_2: @ 8489419 .string "Thank you for using the MYSTERY\n" .string "GIFT System.\p" .string "Congratulations!\p" .string "You have won a prize for winning\n" .string "three battles!\p" .string "We hope you will be inspired to\n" .string "battle some more.$" MysteryEventScript_AuroraTicket:: @ 84894B9 setvaddress MysteryEventScript_AuroraTicket lock faceplayer checkflag FLAG_GOT_AURORA_TICKET vgoto_if TRUE, AuroraTicket_Obtained checkflag FLAG_FOUGHT_DEOXYS vgoto_if TRUE, AuroraTicket_Obtained checkitem ITEM_AURORA_TICKET, 1 compare_var_to_value VAR_RESULT, 1 vgoto_if TRUE, AuroraTicket_Obtained vmessage sText_AuroraTicket1 waitmessage waitbuttonpress checkitemspace ITEM_AURORA_TICKET, 1 compare_var_to_value VAR_RESULT, 0 vgoto_if TRUE, AuroraTicket_NoBagSpace giveitem ITEM_AURORA_TICKET setflag FLAG_SYS_GOT_AURORA_TICKET setflag FLAG_GOT_AURORA_TICKET vmessage sText_AuroraTicket2 waitmessage waitbuttonpress release end AuroraTicket_NoBagSpace: @ 8489514 vmessage sText_AuroraTicketNoPlace waitmessage waitbuttonpress release end AuroraTicket_Obtained: @ 848951D vmessage sText_AuroraTicketGot waitmessage waitbuttonpress release end sText_AuroraTicket1: @ 8489526 .string "Thank you for using the MYSTERY\n" .string "GIFT System.\p" .string "You must be {PLAYER}.\n" .string "There is a ticket here for you.$" sText_AuroraTicket2: @ 8489583 .string "It appears to be for use at the\n" .string "VERMILION CITY port.\p" .string "Why not give it a try and see what\n" .string "it is about?$" sText_AuroraTicketGot: @ 84895E8 .string "Thank you for using the MYSTERY\n" .string "GIFT System.$" sText_AuroraTicketNoPlace: @ 8489615 .string "Oh, I'm sorry, {PLAYER}. Your BAG's\n" .string "KEY ITEMS POCKET is full.\p" .string "Please store something on your PC,\n" .string "then come back for this.$" MysteryEventScript_MysticTicket:: @ 8489689 setvaddress MysteryEventScript_MysticTicket lock faceplayer checkflag FLAG_GOT_MYSTIC_TICKET vgoto_if TRUE, MysticTicket_Obtained checkflag FLAG_FOUGHT_LUGIA vgoto_if TRUE, MysticTicket_Obtained checkflag FLAG_FOUGHT_HO_OH vgoto_if TRUE, MysticTicket_Obtained checkitem ITEM_MYSTIC_TICKET, 1 compare_var_to_value VAR_RESULT, 1 vgoto_if TRUE, MysticTicket_Obtained vmessage sText_MysticTicket2 waitmessage waitbuttonpress checkitemspace ITEM_MYSTIC_TICKET, 1 compare_var_to_value VAR_RESULT, 0 vgoto_if TRUE, MysticTicket_NoBagSpace giveitem ITEM_MYSTIC_TICKET setflag FLAG_SYS_GOT_MYSTIC_TICKET setflag FLAG_GOT_MYSTIC_TICKET vmessage sText_MysticTicket1 waitmessage waitbuttonpress release end MysticTicket_NoBagSpace: @ 84896ED vmessage sText_MysticTicketNoPlace waitmessage waitbuttonpress release end MysticTicket_Obtained: @ 84896F6 vmessage sText_MysticTicketGot waitmessage waitbuttonpress release end sText_MysticTicket2: @ 84896FF .string "Thank you for using the MYSTERY\n" .string "GIFT System.\p" .string "You must be {PLAYER}.\n" .string "There is a ticket here for you.$" sText_MysticTicket1: @ 848975C .string "It appears to be for use at the\n" .string "VERMILION CITY port.\p" .string "Why not give it a try and see what\n" .string "it is about?$" sText_MysticTicketGot: @ 84897C1 .string "Thank you for using the MYSTERY\n" .string "GIFT System.$" sText_MysticTicketNoPlace: @ 84897EE .string "Oh, I'm sorry, {PLAYER}. Your BAG's\n" .string "KEY ITEMS POCKET is full.\p" .string "Please store something on your PC,\n" .string "then come back for this.$" MysteryEventScript_AlteringCave:: @ 8489862 setvaddress MysteryEventScript_AlteringCave addvar VAR_ALTERING_CAVE_WILD_SET, 1 compare_var_to_value VAR_ALTERING_CAVE_WILD_SET, 10 vgoto_if FALSE, MysteryEventScript_AlteringCave_ setvar VAR_ALTERING_CAVE_WILD_SET, 0 MysteryEventScript_AlteringCave_: @ 848987C lock faceplayer vmessage sText_MysteryGiftAlteringCave waitmessage waitbuttonpress release end sText_MysteryGiftAlteringCave: @ 8489887 .string "Thank you for using the MYSTERY\n" .string "GIFT System.\p" .string "Recently, there have been rumors\n" .string "of rare POKéMON appearances.\p" .string "The rumors are about ALTERING\n" .string "CAVE on OUTCAST ISLAND.\p" .string "Why not visit there and check if\n" .string "the rumors are indeed true?$"