Split bank 3

This commit is contained in:
dannye
2021-10-10 14:35:37 -05:00
parent 3ceaa8f660
commit 40d32ea4e2
51 changed files with 9518 additions and 9505 deletions
+7 -7
View File
@@ -23,42 +23,42 @@ AutoDeckMachineEntries: ; 1b8e8 (6:78e8)
auto_deck BoneAttackCardList, BoneAttackText, BoneAttackDescriptionText
auto_deck ExcavationCardList, ExcavationText, ExcavationDescriptionText
auto_deck RockCrusherCardList, RockCrusherText, RockCrusherDescriptionText
; Water Auto Deck Machine
auto_deck BlueWaterCardList, BlueWaterText, BlueWaterDescriptionText
auto_deck OnTheBeachCardList, OnTheBeachText, OnTheBeachDescriptionText
auto_deck ParalyzeCardList, ParalyzeText, ParalyzeDescriptionText
auto_deck EnergyRemovalCardList, EnergyRemovalText, EnergyRemovalDescriptionText
auto_deck RainDancerCardList, RainDancerText, RainDancerDescriptionText
; Lightning Auto Deck Machine
auto_deck CutePokemonCardList, CutePokemonText, CutePokemonDescriptionText
auto_deck PokemonFluteCardList, PokemonFluteText, PokemonFluteDescriptionText
auto_deck YellowFlashCardList, YellowFlashText, YellowFlashDescriptionText
auto_deck ElectricShockCardList, ElectricShockText, ElectricShockDescriptionText
auto_deck ZappingSelfdestructCardList, ZappingSelfdestructText, ZappingSelfdestructDescriptionText
; Grass Auto Deck Machine
auto_deck InsectCollectionCardList, InsectCollectionText, InsectCollectionDescriptionText
auto_deck JungleCardList, JungleText, JungleDescriptionText
auto_deck FlowerGardenCardList, FlowerGardenText, FlowerGardenDescriptionText
auto_deck KaleidoscopeCardList, KaleidoscopeText, KaleidoscopeDescriptionText
auto_deck FlowerPowerCardList, FlowerPowerText, FlowerPowerDescriptionText
; Psychic Auto Deck Machine
auto_deck PsychicPowerCardList, PsychicPowerText, PsychicPowerDescriptionText
auto_deck DreamEaterHaunterCardList, DreamEaterHaunterText, DreamEaterHaunterDescriptionText
auto_deck ScavengingSlowbroCardList, ScavengingSlowbroText, ScavengingSlowbroDescriptionText
auto_deck StrangePowerCardList, StrangePowerText, StrangePowerDescriptionText
auto_deck StrangePsyshockCardList, StrangePsyshockText, StrangePsyshockDescriptionText
; Science Auto Deck Machine
auto_deck LovelyNidoranCardList, LovelyNidoranText, LovelyNidoranDescriptionText
auto_deck ScienceCorpsCardList, ScienceCorpsText, ScienceCorpsDescriptionText
auto_deck FlyinPokemonCardList, FlyinPokemonText, FlyinPokemonDescriptionText
auto_deck PoisonCardList, PoisonText, PoisonDescriptionText
auto_deck WondersOfScienceCardList, WondersOfScienceText, WondersOfScienceDescriptionText
; Fire Auto Deck Machine
auto_deck ReplaceEmAllCardList, ReplaceEmAllText, ReplaceEmAllDescriptionText
auto_deck ChariSaurCardList, ChariSaurText, ChariSaurDescriptionText
@@ -72,7 +72,7 @@ AutoDeckMachineEntries: ; 1b8e8 (6:78e8)
auto_deck BulbasaurAndFriendsCardList, BulbasaurAndFriendsText, BulbasaurAndFriendsDescriptionText
auto_deck PsychicMachampCardList, PsychicMachampText, PsychicMachampDescriptionText
auto_deck WaterBeetleCardList, WaterBeetleText, WaterBeetleDescriptionText
; Legendary Auto Deck Machine
auto_deck LegendaryMoltresCardList, LegendaryMoltresText, LegendaryMoltresDescriptionText
auto_deck LegendaryZapdosCardList, LegendaryZapdosText, LegendaryZapdosDescriptionText
+67 -67
View File
@@ -21,7 +21,7 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 3
credits_seq_print_text 0, 0, ProducersText
credits_seq_fade_in
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 104, 40
@@ -29,7 +29,7 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_ow_map 0, 0, DECK_MACHINE_ROOM
credits_seq_load_npc 6, 8, SOUTH, NPC_TECH6
credits_seq_load_npc 6, 22, WEST, NPC_TECH7
@@ -37,8 +37,8 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_load_npc 12, 12, WEST, NPC_AARON
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 7
credits_seq_print_text 0, 0, DirectorText
credits_seq_fade_in
credits_seq_print_text 0, 0, DirectorText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 120, 24
@@ -46,12 +46,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_club_map 0
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 5
credits_seq_print_text 0, 0, ProgrammersText
credits_seq_fade_in
credits_seq_print_text 0, 0, ProgrammersText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 104, 40
@@ -59,12 +59,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_club_map 1
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 7
credits_seq_print_text 0, 0, GBGraphicDesigners1Text
credits_seq_fade_in
credits_seq_print_text 0, 0, GBGraphicDesigners1Text
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 104, 40
@@ -82,12 +82,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_club_map 2
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 7
credits_seq_print_text 0, 0, MusicText
credits_seq_fade_in
credits_seq_print_text 0, 0, MusicText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 120, 24
@@ -102,12 +102,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_club_map 3
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 7
credits_seq_print_text 0, 0, SoundDirectorText
credits_seq_fade_in
credits_seq_print_text 0, 0, SoundDirectorText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 120, 24
@@ -122,12 +122,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_booster 6, 3, SCENE_CHARIZARD_INTRO
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 6
credits_seq_print_text 0, 0, CardGameCreator1Text
credits_seq_fade_in
credits_seq_print_text 0, 0, CardGameCreator1Text
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 120, 24
@@ -135,12 +135,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_booster 6, 3, SCENE_SCYTHER_INTRO
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 5
credits_seq_print_text 0, 0, CardGameCreator2Text
credits_seq_fade_in
credits_seq_print_text 0, 0, CardGameCreator2Text
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 120, 24
@@ -148,12 +148,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_booster 6, 3, SCENE_AERODACTYL_INTRO
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 5
credits_seq_print_text 0, 0, CardGameCreator3Text
credits_seq_fade_in
credits_seq_print_text 0, 0, CardGameCreator3Text
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 120, 24
@@ -161,13 +161,13 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_ow_map 0, 0, ISHIHARAS_HOUSE
credits_seq_load_npc 8, 8, SOUTH, NPC_ISHIHARA
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 8
credits_seq_print_text 0, 0, CardIllustrators1Text
credits_seq_fade_in
credits_seq_print_text 0, 0, CardIllustrators1Text
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 96, 48
@@ -180,7 +180,7 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_ow_map 16, 8, LIGHTNING_CLUB_LOBBY
credits_seq_load_npc 6, 4, SOUTH, NPC_CLERK10
credits_seq_load_npc 10, 4, SOUTH, NPC_GIFT_CENTER_CLERK
@@ -190,8 +190,8 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_load_npc 20, 8, SOUTH, NPC_HOOD1
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 8
credits_seq_print_text 0, 0, SpecialAppearances1Text
credits_seq_fade_in
credits_seq_print_text 0, 0, SpecialAppearances1Text
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 112, 32
@@ -204,15 +204,15 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_ow_map 48, 0, CHALLENGE_HALL
credits_seq_load_npc 14, 4, SOUTH, NPC_HOST
credits_seq_load_npc 18, 8, WEST, NPC_RONALD1
credits_seq_load_npc 12, 8, EAST, NPC_PLAYER_CREDITS
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 7
credits_seq_print_text 0, 0, USCoordination1Text
credits_seq_fade_in
credits_seq_print_text 0, 0, USCoordination1Text
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 32, 144, 0
credits_seq_transform_overlay 0, 32, 112, 32
@@ -237,12 +237,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 40, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_booster 6, 3, SCENE_COLOSSEUM_BOOSTER
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 8
credits_seq_print_text 0, 0, TranslationDraftText
credits_seq_fade_in
credits_seq_print_text 0, 0, TranslationDraftText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 120, 24
@@ -250,12 +250,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_booster 6, 3, SCENE_EVOLUTION_BOOSTER
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 6
credits_seq_print_text 0, 0, MasteringText
credits_seq_fade_in
credits_seq_print_text 0, 0, MasteringText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 120, 24
@@ -263,12 +263,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_booster 6, 3, SCENE_MYSTERY_BOOSTER
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 6
credits_seq_print_text 0, 0, ManualCreationText
credits_seq_fade_in
credits_seq_print_text 0, 0, ManualCreationText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 120, 24
@@ -276,12 +276,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_booster 6, 3, SCENE_LABORATORY_BOOSTER
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 6
credits_seq_print_text 0, 0, ManualIllustrationsText
credits_seq_fade_in
credits_seq_print_text 0, 0, ManualIllustrationsText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 120, 24
@@ -289,12 +289,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_club_map 4
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 7
credits_seq_print_text 0, 0, PokemonOriginalStoryText
credits_seq_fade_in
credits_seq_print_text 0, 0, PokemonOriginalStoryText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 120, 24
@@ -302,7 +302,7 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 7
credits_seq_print_text 0, 0, CreatedInCooperationWithText
credits_seq_print_text 0, 0, CreatedInCooperationWithText
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 104, 40
@@ -310,12 +310,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_club_map 5
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 7
credits_seq_print_text 0, 0, WithCooperation1Text
credits_seq_fade_in
credits_seq_print_text 0, 0, WithCooperation1Text
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 104, 40
@@ -333,12 +333,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_club_map 6
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 8
credits_seq_print_text 0, 0, ProjectManagerText
credits_seq_fade_in
credits_seq_print_text 0, 0, ProjectManagerText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 120, 24
@@ -346,12 +346,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_club_map 7
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 7
credits_seq_print_text 0, 0, SupervisorText
credits_seq_fade_in
credits_seq_print_text 0, 0, SupervisorText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 104, 40
@@ -359,12 +359,12 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_club_map 8
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 7
credits_seq_print_text 0, 0, ExecutiveProducerText
credits_seq_fade_in
credits_seq_print_text 0, 0, ExecutiveProducerText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 104, 40
@@ -372,7 +372,7 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_ow_map 16, 16, HALL_OF_HONOR
credits_seq_load_npc 10, 8, NORTH, NPC_LEGENDARY_CARD_TOP_LEFT
credits_seq_load_npc 12, 8, NORTH, NPC_LEGENDARY_CARD_TOP_RIGHT
@@ -382,8 +382,8 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_load_npc 14, 10, NORTH, NPC_LEGENDARY_CARD_RIGHT_SPARK
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_draw_rectangle 0, 7
credits_seq_print_text 0, 0, CreatedByText
credits_seq_fade_in
credits_seq_print_text 0, 0, CreatedByText
credits_seq_fade_in
credits_seq_wait 60
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 24, 104, 40
@@ -391,9 +391,9 @@ CreditsSequence: ; 1daef (7:5aef)
credits_seq_transform_overlay 0, 24, 144, 0
credits_seq_transform_overlay 0, 0, 144, 0
credits_seq_fade_out
credits_seq_load_scene 0, 0, SCENE_COMPANIES
credits_seq_init_overlay 0, 0, 144, 0
credits_seq_fade_in
credits_seq_fade_in
credits_seq_wait 225
credits_seq_end
+1 -1
View File
@@ -20,7 +20,7 @@ OpeningSequence: ; 1d59d (7:559d)
opening_seq_wait 44
opening_seq_fade_out
opening_seq_wait 30
opening_seq_load_aerodactyl_scene
opening_seq_play_sfx SFX_59
opening_seq_set_orbs_coordinates OpeningOrbCoordinates_AerodactylScene
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -3085,7 +3085,7 @@ SaveGeneralSaveDataFromDE: ; 1125f (4:525f)
; writes in de total num of cards collected
; and in (de + 1) total num of cards to collect
; also updates wTotalNumCardsCollected and wTotalNumCardsToCollect
; also updates wTotalNumCardsCollected and wTotalNumCardsToCollect
UpdateAlbumProgress: ; 1127f (4:527f)
push hl
push de
+9 -9
View File
@@ -8066,16 +8066,16 @@ Func_7338:
ret
Func_7344:
push af
ld a, [wSerialFlags]
or a
jr nz, .asm_734d
pop af
ret
push af
ld a, [wSerialFlags]
or a
jr nz, .asm_734d
pop af
ret
.asm_734d
call Func_3b31
call DuelTransmissionError
ret
call Func_3b31
call DuelTransmissionError
ret
BuildVersion:
db "VER 12/20 09:36", TX_END
+1 -1
View File
@@ -891,7 +891,7 @@ DrawDeckMachineScreen:
; to index in register a, from wMachineDeckPtrs
; also checks whether the deck can be built
; either by dismantling other decks or not,
; and places the corresponding symbol next to the name
; and places the corresponding symbol next to the name
PrintDeckMachineEntry:
ld b, a
push bc
+1 -1
View File
@@ -485,7 +485,7 @@ Func_9001:
ld bc, -1
call .GetNumberChar
ret
.GetNumberChar
ld a, SYM_0 - 1
.loop
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -56,7 +56,7 @@ DecompressData:
; decompression works as follows:
; first a command byte is read that will dictate how the
; following bytes will be copied
; the position will then move to the next byte (0xXY), and
; the position will then move to the next byte (0xXY), and
; the command byte's bits are read from higher to lower bit
; - if command bit is set, then copy 0xXY to buffer;
; - if command bit is not set, then decompression enters "repeat mode,"
+1 -1
View File
@@ -38,7 +38,7 @@ ROMX $01
ROMX $02
"Menus"
ROMX $03
"Bank 3"
"Overworld Scripting"
ROMX $04
"Bank 4"
ROMX $05
+1 -1
View File
@@ -9,7 +9,7 @@ credits_seq_load_ow_map: MACRO
dw CreditsSequenceCmd_LoadOWMap
db \1, \2, \3
ENDM
credits_seq_init_volcano_sprite: MACRO
dw CreditsSequenceCmd_InitVolcanoSprite
ENDM
+3 -2
View File
@@ -21,8 +21,9 @@ INCLUDE "engine/menus/card_album.asm"
INCLUDE "engine/menus/printer.asm"
INCLUDE "engine/menus/deck_machine.asm"
SECTION "Bank 3", ROMX
INCLUDE "engine/bank03.asm"
SECTION "Overworld Scripting", ROMX
INCLUDE "engine/overworld/overworld.asm"
INCLUDE "engine/overworld/scripting.asm"
SECTION "Bank 4", ROMX
INCLUDE "engine/bank04.asm"
+46
View File
@@ -0,0 +1,46 @@
Func_fc2b:
ld a, [wDuelResult]
cp DUEL_LOSS + 1
jr c, .win_or_loss
ld a, 2 ; transmission error
.win_or_loss
rlca
ld c, a
ld b, 0
ld hl, PointerTable_fc4c
add hl, bc
ld c, [hl]
inc hl
ld b, [hl]
ld a, LOW(ClerkNPCName_)
ld [wCurrentNPCNameTx], a
ld a, HIGH(ClerkNPCName_)
ld [wCurrentNPCNameTx + 1], a
jp SetNextScript
PointerTable_fc4c:
dw Script_fc64
dw Script_fc68
dw Script_fc60
Script_fc52:
start_script
print_npc_text Text06c8
ask_question_jump_default_yes NULL, .ows_fc5e
print_text_quit_fully Text06c9
.ows_fc5e
battle_center
quit_script_fully
Script_fc60:
start_script
print_text_quit_fully Text06ca
Script_fc64:
start_script
print_text_quit_fully Text06cb
Script_fc68:
start_script
print_text_quit_fully Text06cc
+562
View File
@@ -0,0 +1,562 @@
ChallengeHallAfterDuel:
ld c, 0
ld a, [wDuelResult]
or a ; cp DUEL_WIN
jr z, .won
ld c, 2
.won
ld b, 0
ld hl, ChallengeHallAfterDuelTable
add hl, bc
ld c, [hl]
inc hl
ld b, [hl]
ld a, NPC_HOST
ld [wTempNPC], a
jp SetNextNPCAndScript
ChallengeHallAfterDuelTable:
dw Script_WonAtChallengeHall
dw Script_LostAtChallengeHall
ChallengeHallLoadMap:
get_event_value EVENT_CHALLENGE_CUP_IN_MENU
or a
ret z
ld a, NPC_HOST
ld [wTempNPC], a
call FindLoadedNPC
ld bc, Script_f433
jp SetNextNPCAndScript
Script_Clerk13:
start_script
print_text_quit_fully Text0525
Preload_Guide:
get_event_value EVENT_CHALLENGE_CUP_STARTING
or a
jr z, .asm_f281
ld a, $1c
ld [wLoadNPCXPos], a
ld a, $02
ld [wLoadNPCYPos], a
.asm_f281
scf
ret
Script_Guide:
start_script
jump_if_event_false EVENT_CHALLENGE_CUP_STARTING, .ows_f28b
print_text_quit_fully Text0526
.ows_f28b
jump_if_event_zero EVENT_CHALLENGE_CUP_1_STATE, .ows_f292
print_text_quit_fully Text0527
.ows_f292
print_text_quit_fully Text0528
Script_Clerk12:
start_script
jump_if_event_equal EVENT_CHALLENGE_CUP_3_STATE, CHALLENGE_CUP_LOST, .ows_f2c4
jump_if_event_equal EVENT_CHALLENGE_CUP_3_STATE, CHALLENGE_CUP_WON, .ows_f2c1
jump_if_event_equal EVENT_CHALLENGE_CUP_2_STATE, CHALLENGE_CUP_LOST, .ows_f2c4
jump_if_event_equal EVENT_CHALLENGE_CUP_2_STATE, CHALLENGE_CUP_WON, .ows_f2c1
jump_if_event_equal EVENT_CHALLENGE_CUP_1_STATE, CHALLENGE_CUP_LOST, .ows_f2c4
jump_if_event_equal EVENT_CHALLENGE_CUP_1_STATE, CHALLENGE_CUP_WON, .ows_f2c1
jump_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 2, .ows_f2cd
jump_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 3, .ows_f2d3
script_jump .ows_f2c7
.ows_f2c1
print_text_quit_fully Text0529
.ows_f2c4
print_text_quit_fully Text052a
.ows_f2c7
print_npc_text Text052b
script_jump .ows_f2d6
.ows_f2cd
print_npc_text Text052c
script_jump .ows_f2d6
.ows_f2d3
print_npc_text Text052d
.ows_f2d6
print_npc_text Text052e
ask_question_jump Text052f, .ows_f2e1
print_text_quit_fully Text0530
.ows_f2e1
max_out_event_value EVENT_PLAYER_ENTERED_CHALLENGE_CUP
print_npc_text Text0531
close_text_box
move_active_npc NPCMovement_f349
jump_if_player_coords_match 8, 18, .ows_f2fa
jump_if_player_coords_match 12, 18, .ows_f302
move_player NORTH, 2
script_jump .ows_f307
.ows_f2fa
set_player_direction EAST
move_player EAST, 2
script_jump .ows_f307
.ows_f302
set_player_direction WEST
move_player WEST, 2
.ows_f307
set_player_direction NORTH
move_player NORTH, 1
move_player NORTH, 1
move_player NORTH, 1
move_player NORTH, 1
move_player NORTH, 1
jump_if_event_true EVENT_CHALLENGE_CUP_STAGE_VISITED, .ows_f33a
max_out_event_value EVENT_CHALLENGE_CUP_STAGE_VISITED
move_player NORTH, 1
move_player NORTH, 1
set_player_direction EAST
do_frames 30
set_player_direction SOUTH
do_frames 20
set_player_direction EAST
do_frames 20
set_player_direction SOUTH
do_frames 30
move_player SOUTH, 1
move_player SOUTH, 1
.ows_f33a
set_player_direction EAST
move_player EAST, 1
move_active_npc NPCMovement_f34e
close_advanced_text_box
set_next_npc_and_script NPC_HOST, Script_f353
end_script
ret
NPCMovement_f349:
db NORTH
db NORTH
db EAST
NPCMovement_f34c:
db WEST | NO_MOVE
db $ff
NPCMovement_f34e:
db WEST
db SOUTH
db SOUTH
db $ff
Script_Host:
ret
Script_f353:
start_script
do_frames 20
move_active_npc NPCMovement_f37d
do_frames 20
move_active_npc NPCMovement_f390
load_challenge_hall_npc_into_txram_slot 0
print_npc_text Text0532
close_text_box
move_active_npc NPCMovement_f37f
print_npc_text Text0533
close_text_box
move_active_npc NPCMovement_f388
print_npc_text Text0534
close_text_box
move_active_npc NPCMovement_f38e
print_npc_text Text0535
start_challenge_hall_duel PRIZES_4, SAMS_PRACTICE_DECK_ID, MUSIC_STOP
quit_script_fully
NPCMovement_f37d:
db EAST | NO_MOVE
db $ff
NPCMovement_f37f:
db EAST
db EAST
db SOUTH
db $ff
NPCMovement_f383:
db NORTH
db WEST
db WEST
db SOUTH | NO_MOVE
db $ff
NPCMovement_f388:
db NORTH
db WEST
db WEST
NPCMovement_f38b:
db WEST
db SOUTH
db $ff
NPCMovement_f38e:
db NORTH
db EAST
NPCMovement_f390:
db SOUTH | NO_MOVE
db $ff
Script_LostAtChallengeHall:
start_script
do_frames 20
move_active_npc NPCMovement_f37d
do_frames 20
move_active_npc NPCMovement_f390
jump_if_event_equal EVENT_CHALLENGE_CUP_OPPONENT_NUMBER, 2, Script_f410
jump_if_event_equal EVENT_CHALLENGE_CUP_OPPONENT_NUMBER, 3, Script_f410.ows_f41a
load_challenge_hall_npc_into_txram_slot 0
load_challenge_hall_npc_into_txram_slot 1
print_npc_text Text0536
.ows_f3ae
close_text_box
move_active_npc NPCMovement_f38b
print_npc_text Text0537
close_text_box
move_active_npc NPCMovement_f38e
jump_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 2, .ows_f3ce
jump_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 3, .ows_f3d9
set_event EVENT_CHALLENGE_CUP_1_STATE, CHALLENGE_CUP_LOST
set_event EVENT_CHALLENGE_CUP_1_RESULT, CHALLENGE_CUP_LOST
zero_out_event_value EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_2
script_jump .ows_f3e2
.ows_f3ce
set_event EVENT_CHALLENGE_CUP_2_STATE, CHALLENGE_CUP_LOST
set_event EVENT_CHALLENGE_CUP_2_RESULT, CHALLENGE_CUP_LOST
zero_out_event_value EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_6
script_jump .ows_f3e2
.ows_f3d9
set_event EVENT_CHALLENGE_CUP_3_STATE, CHALLENGE_CUP_LOST
set_event EVENT_CHALLENGE_CUP_3_RESULT, CHALLENGE_CUP_LOST
script_jump .ows_f3e2
.ows_f3e2
close_advanced_text_box
set_next_npc_and_script NPC_CLERK12, Script_f3e9
end_script
ret
Script_f3e9:
start_script
move_active_npc NPCMovement_f40a
set_player_direction WEST
move_player WEST, 1
set_player_direction SOUTH
move_player SOUTH, 1
move_player SOUTH, 1
move_player SOUTH, 1
move_player SOUTH, 1
move_player SOUTH, 1
move_player SOUTH, 1
move_active_npc NPCMovement_f40d
quit_script_fully
NPCMovement_f40a:
db WEST
db EAST | NO_MOVE
db $ff
NPCMovement_f40d:
db EAST
db SOUTH | NO_MOVE
db $ff
Script_f410:
load_challenge_hall_npc_into_txram_slot 0
load_challenge_hall_npc_into_txram_slot 1
print_npc_text Text0538
script_jump Script_LostAtChallengeHall.ows_f3ae
.ows_f41a
print_npc_text Text0539
set_dialog_npc NPC_RONALD1
jump_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 3, .ows_f42e
test_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 1
print_variable_npc_text Text053a, Text053b
.ows_f42e
set_dialog_npc NPC_HOST
script_jump Script_LostAtChallengeHall.ows_f3ae
Script_f433:
start_script
do_frames 20
move_active_npc NPCMovement_f37d
do_frames 20
move_active_npc NPCMovement_f390
script_jump Script_WonAtChallengeHall.ows_f4a4
Script_WonAtChallengeHall:
start_script
do_frames 20
move_active_npc NPCMovement_f37d
do_frames 20
move_active_npc NPCMovement_f390
jump_if_event_equal EVENT_CHALLENGE_CUP_OPPONENT_NUMBER, 3, Script_f4db
jump_if_event_equal EVENT_CHALLENGE_CUP_OPPONENT_NUMBER, 2, .ows_f456
.ows_f456
test_if_event_equal EVENT_CHALLENGE_CUP_OPPONENT_NUMBER, 1
print_variable_npc_text Text053c, Text053d
move_active_npc NPCMovement_f37f
load_challenge_hall_npc_into_txram_slot 0
print_npc_text Text053e
close_text_box
move_challenge_hall_npc NPCMovement_f4c8
unload_challenge_hall_npc
print_npc_text Text053f
close_text_box
pick_challenge_hall_opponent
set_challenge_hall_npc_coords 20, 20
move_challenge_hall_npc NPCMovement_f4d0
load_challenge_hall_npc_into_txram_slot 0
test_if_event_equal EVENT_CHALLENGE_CUP_OPPONENT_NUMBER, 2
print_variable_npc_text Text0540, Text0541
move_active_npc NPCMovement_f383
jump_if_event_equal EVENT_CHALLENGE_CUP_OPPONENT_NUMBER, 2, .ows_f4a4
jump_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 3, .ows_f4a1
close_text_box
set_dialog_npc NPC_RONALD1
test_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 1
print_variable_npc_text Text0542, Text0543
set_dialog_npc NPC_HOST
close_text_box
.ows_f4a1
print_npc_text Text0544
.ows_f4a4
zero_out_event_value EVENT_CHALLENGE_CUP_IN_MENU
print_npc_text Text0545
ask_question_jump_default_yes Text0546, .ows_f4bd
test_if_event_equal EVENT_CHALLENGE_CUP_OPPONENT_NUMBER, 2
print_variable_npc_text Text0547, Text0548
start_challenge_hall_duel PRIZES_4, SAMS_PRACTICE_DECK_ID, MUSIC_STOP
quit_script_fully
.ows_f4bd
print_npc_text Text0549
close_text_box
max_out_event_value EVENT_CHALLENGE_CUP_IN_MENU
open_menu
close_text_box
script_jump .ows_f4a4
NPCMovement_f4c8:
db EAST
NPCMovement_f4c9:
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db $ff
NPCMovement_f4d0:
db NORTH
db NORTH
db NORTH
db NORTH
db NORTH
db NORTH
db WEST
db $ff
NPCMovement_f4d8:
db EAST
db SOUTH | NO_MOVE
db $ff
Script_f4db:
print_npc_text Text054a
move_active_npc NPCMovement_f37f
load_challenge_hall_npc_into_txram_slot 0
print_npc_text Text054b
close_text_box
jump_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 3, .ows_f513
set_dialog_npc NPC_RONALD1
test_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 1
print_variable_npc_text Text054c, Text054d
move_challenge_hall_npc NPCMovement_f4d8
do_frames 40
move_challenge_hall_npc NPCMovement_f34c
test_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 1
print_variable_npc_text Text054e, Text054f
set_dialog_npc NPC_HOST
close_text_box
move_challenge_hall_npc NPCMovement_f4c9
script_jump .ows_f516
.ows_f513
move_challenge_hall_npc NPCMovement_f4c8
.ows_f516
unload_challenge_hall_npc
move_active_npc NPCMovement_f383
print_npc_text Text0550
close_text_box
move_active_npc NPCMovement_f38b
pick_challenge_cup_prize_card
print_npc_text Text0551
give_card VARIABLE_CARD
show_card_received_screen VARIABLE_CARD
print_npc_text Text0552
close_text_box
jump_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 2, .ows_f540
jump_if_event_equal EVENT_CHALLENGE_CUP_NUMBER, 3, .ows_f549
set_event EVENT_CHALLENGE_CUP_1_STATE, CHALLENGE_CUP_WON
set_event EVENT_CHALLENGE_CUP_1_RESULT, CHALLENGE_CUP_WON
script_jump .ows_f552
.ows_f540
set_event EVENT_CHALLENGE_CUP_2_STATE, CHALLENGE_CUP_WON
set_event EVENT_CHALLENGE_CUP_2_RESULT, CHALLENGE_CUP_WON
script_jump .ows_f552
.ows_f549
set_event EVENT_CHALLENGE_CUP_3_STATE, CHALLENGE_CUP_WON
set_event EVENT_CHALLENGE_CUP_3_RESULT, CHALLENGE_CUP_WON
script_jump .ows_f552
.ows_f552
close_advanced_text_box
set_next_npc_and_script NPC_CLERK12, Script_f3e9
end_script
ret
; Loads the NPC to fight at the challenge hall
Preload_ChallengeHallOpponent:
get_event_value EVENT_CHALLENGE_CUP_STARTING
or a
ret z
get_event_value EVENT_CHALLENGE_CUP_OPPONENT_CHOSEN
or a
jr z, .asm_f56e
ld a, [wChallengeHallNPC]
ld [wTempNPC], a
scf
ret
.asm_f56e
call Func_f5db
ld c, 1
set_event_value EVENT_CHALLENGE_CUP_OPPONENT_NUMBER
call Func_f580
max_event_value EVENT_CHALLENGE_CUP_OPPONENT_CHOSEN
scf
ret
Func_f580:
get_event_value EVENT_CHALLENGE_CUP_NUMBER
cp 3
jr z, .pick_challenger_include_ronald
get_event_value EVENT_CHALLENGE_CUP_OPPONENT_NUMBER
cp 3
ld d, ChallengeHallNPCs.end - ChallengeHallNPCs - 1 ; discount Ronald
jr nz, .pick_challenger
ld a, NPC_RONALD1
jr .force_ronald
.pick_challenger_include_ronald
ld d, ChallengeHallNPCs.end - ChallengeHallNPCs
.pick_challenger
ld a, d
call Random
ld c, a
call Func_f5cc
jr c, .pick_challenger
call Func_f5d4
ld b, 0
ld hl, ChallengeHallNPCs
add hl, bc
ld a, [hl]
.force_ronald
ld [wTempNPC], a
ld [wChallengeHallNPC], a
ret
ChallengeHallNPCs:
db NPC_CHRIS
db NPC_MICHAEL
db NPC_JESSICA
db NPC_MATTHEW
db NPC_RYAN
db NPC_ANDREW
db NPC_SARA
db NPC_AMANDA
db NPC_JOSHUA
db NPC_JENNIFER
db NPC_NICHOLAS
db NPC_BRANDON
db NPC_BRITTANY
db NPC_KRISTIN
db NPC_HEATHER
db NPC_ROBERT
db NPC_DANIEL
db NPC_STEPHANIE
db NPC_JOSEPH
db NPC_DAVID
db NPC_ERIK
db NPC_JOHN
db NPC_ADAM
db NPC_JONATHAN
db NPC_RONALD1
.end
Func_f5cc:
call Func_f5e9
ld a, [hl]
and b
ret z
scf
ret
Func_f5d4:
call Func_f5e9
ld a, [hl]
or b
ld [hl], a
ret
Func_f5db:
xor a
ld [wd698 + 0], a
ld [wd698 + 1], a
ld [wd698 + 2], a
ld [wd698 + 3], a
ret
Func_f5e9:
ld hl, wd698
ld a, c
.asm_f5ed
cp $08
jr c, .asm_f5f6
sub $08
inc hl
jr .asm_f5ed
.asm_f5f6
ld b, $80
jr .asm_f5fd
.asm_f5fa
srl b
dec a
.asm_f5fd
cp $00
jr nz, .asm_f5fa
ret
Func_f602:
set_event_false EVENT_CHALLENGE_CUP_OPPONENT_CHOSEN
ret
+106
View File
@@ -0,0 +1,106 @@
Preload_Clerk9:
call TryGiveMedalPCPacks
get_event_value EVENT_MEDAL_COUNT
ld hl, .jump_table
cp 9
jp c, JumpToFunctionInTable
debug_nop
jr .less_than_three_medals
.jump_table
dw .less_than_three_medals
dw .less_than_three_medals
dw .less_than_three_medals
dw .three_medals
dw .four_medals
dw .five_medals
dw .more_than_five_medals
dw .more_than_five_medals
dw .more_than_five_medals
.three_medals
get_event_value EVENT_CHALLENGE_CUP_1_STATE
or a ; cp CHALLENGE_CUP_NOT_STARTED
jr nz, .less_than_three_medals
ld c, CHALLENGE_CUP_READY_TO_START
set_event_value EVENT_CHALLENGE_CUP_1_STATE
jr .less_than_three_medals
.five_medals
get_event_value EVENT_CHALLENGE_CUP_2_STATE
or a ; cp CHALLENGE_CUP_NOT_STARTED
jr nz, .four_medals
ld c, CHALLENGE_CUP_READY_TO_START
set_event_value EVENT_CHALLENGE_CUP_2_STATE
jr .four_medals
.more_than_five_medals
ld c, CHALLENGE_CUP_OVER
set_event_value EVENT_CHALLENGE_CUP_2_STATE
.four_medals
ld c, CHALLENGE_CUP_OVER
set_event_value EVENT_CHALLENGE_CUP_1_STATE
.less_than_three_medals
set_event_false EVENT_CHALLENGE_CUP_STARTING
get_event_value EVENT_CHALLENGE_CUP_1_STATE
cp CHALLENGE_CUP_NOT_STARTED
jr z, .check_challenge_cup_two
cp CHALLENGE_CUP_OVER
jr z, .check_challenge_cup_two
ld c, 1
jr .start_challenge_cup
.check_challenge_cup_two
get_event_value EVENT_CHALLENGE_CUP_2_STATE
cp CHALLENGE_CUP_NOT_STARTED
jr z, .check_challenge_cup_three
cp CHALLENGE_CUP_OVER
jr z, .check_challenge_cup_three
ld c, 2
jr .start_challenge_cup
.check_challenge_cup_three
get_event_value EVENT_CHALLENGE_CUP_3_STATE
cp CHALLENGE_CUP_NOT_STARTED
jr z, .no_challenge_cup
cp CHALLENGE_CUP_OVER
jr z, .no_challenge_cup
ld c, 3
.start_challenge_cup
set_event_value EVENT_CHALLENGE_CUP_NUMBER
max_event_value EVENT_CHALLENGE_CUP_STARTING
ld a, MUSIC_CHALLENGE_HALL
ld [wDefaultSong], a
.no_challenge_cup
scf
ret
Script_Clerk9:
start_script
jump_if_event_zero EVENT_CHALLENGE_CUP_1_STATE, .ows_f066
jump_if_event_equal EVENT_CHALLENGE_CUP_3_STATE, CHALLENGE_CUP_OVER, .ows_f069
jump_if_event_equal EVENT_CHALLENGE_CUP_3_STATE, CHALLENGE_CUP_LOST, .ows_f06f
jump_if_event_equal EVENT_CHALLENGE_CUP_3_STATE, CHALLENGE_CUP_WON, .ows_f072
jump_if_event_equal EVENT_CHALLENGE_CUP_3_STATE, CHALLENGE_CUP_READY_TO_START, .ows_f06c
jump_if_event_equal EVENT_CHALLENGE_CUP_2_STATE, CHALLENGE_CUP_OVER, .ows_f069
jump_if_event_equal EVENT_CHALLENGE_CUP_2_STATE, CHALLENGE_CUP_LOST, .ows_f06f
jump_if_event_equal EVENT_CHALLENGE_CUP_2_STATE, CHALLENGE_CUP_WON, .ows_f072
jump_if_event_equal EVENT_CHALLENGE_CUP_2_STATE, CHALLENGE_CUP_READY_TO_START, .ows_f06c
jump_if_event_equal EVENT_CHALLENGE_CUP_1_STATE, CHALLENGE_CUP_OVER, .ows_f069
jump_if_event_equal EVENT_CHALLENGE_CUP_1_STATE, CHALLENGE_CUP_LOST, .ows_f06f
jump_if_event_equal EVENT_CHALLENGE_CUP_1_STATE, CHALLENGE_CUP_WON, .ows_f072
jump_if_event_equal EVENT_CHALLENGE_CUP_1_STATE, CHALLENGE_CUP_READY_TO_START, .ows_f06c
.ows_f066
print_text_quit_fully Text050a
.ows_f069
print_text_quit_fully Text050b
.ows_f06c
print_text_quit_fully Text050c
.ows_f06f
print_text_quit_fully Text050d
.ows_f072
print_text_quit_fully Text050e
+242
View File
@@ -0,0 +1,242 @@
Preload_ChallengeHallNPCs2:
call Preload_ChallengeHallNPCs1
ccf
ret
Preload_ChallengeHallNPCs1:
get_event_value EVENT_CHALLENGE_CUP_STARTING
or a
jr z, .quit
ld a, MUSIC_CHALLENGE_HALL
ld [wDefaultSong], a
scf
.quit
ret
ChallengeHallLobbyLoadMap:
get_event_value EVENT_RONALD_CHALLENGE_HALL_LOBBY_STATE
or a
ret z
ld a, NPC_RONALD1
ld [wTempNPC], a
call FindLoadedNPC
ld bc, Script_f166
jp SetNextNPCAndScript
Script_Pappy3:
start_script
print_text_quit_fully Text050f
Script_Gal4:
start_script
print_text_quit_fully Text0510
Script_Champ:
start_script
print_text_quit_fully Text0511
Script_Hood2:
start_script
print_text_quit_fully Text0512
Script_Lass5:
start_script
print_text_quit_fully Text0513
Script_Chap5:
start_script
print_text_quit_fully Text0514
Preload_ChallengeHallLobbyRonald1:
set_event_zero EVENT_RONALD_CHALLENGE_HALL_LOBBY_STATE
get_event_value EVENT_RECEIVED_LEGENDARY_CARDS
or a
jr nz, .challenge_cup_2_ended
get_event_value EVENT_PLAYER_ENTERED_CHALLENGE_CUP
or a
jr nz, .dont_load
get_event_value EVENT_CHALLENGE_CUP_2_STATE
cp CHALLENGE_CUP_NOT_STARTED
jr z, .check_challenge_cup_1
call .challenge_cup_1_ended
get_event_value EVENT_CHALLENGE_CUP_2_STATE
ld e, a
get_event_value EVENT_CHALLENGE_CUP_2_RESULT
ld d, a
ld hl, RonaldChallengeHallLobbyCup2States
call SetRonaldChallengeHallLobbyState
jr nc, .dont_load
jr .load_ronald
.check_challenge_cup_1
get_event_value EVENT_CHALLENGE_CUP_1_STATE
ld e, a
get_event_value EVENT_CHALLENGE_CUP_1_RESULT
ld d, a
ld hl, RonaldChallengeHallLobbyCup1States
call SetRonaldChallengeHallLobbyState
jr nc, .dont_load
.load_ronald
ld a, [wPlayerYCoord]
ld [wLoadNPCYPos], a
scf
ret
.challenge_cup_2_ended
max_event_value EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_5
max_event_value EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_6
max_event_value EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_7
max_event_value EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_8
.challenge_cup_1_ended
max_event_value EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_1
max_event_value EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_2
max_event_value EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_3
max_event_value EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_4
.dont_load
or a
ret
SetRonaldChallengeHallLobbyState:
ld c, 4
.loop
ld a, [hli]
cp e
jr nz, .next_inc
ld a, [hli]
cp d
jr nz, .next
ld a, [hl]
call GetEventValue
or a
jr nz, .next
ld a, [hl]
call MaxOutEventValue
inc hl
ld c, [hl]
set_event_value EVENT_RONALD_CHALLENGE_HALL_LOBBY_STATE
scf
ret
.next_inc
inc hl
.next
inc hl
inc hl
dec c
jr nz, .loop
or a
ret
; format: cup state, cup result, convo event, convo number
; if the current cup state/result match a row in the table
; and the convo has not already occurred,
; then load the corresponding conversation
RonaldChallengeHallLobbyCup1States:
db CHALLENGE_CUP_READY_TO_START, CHALLENGE_CUP_NOT_STARTED, EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_1, 1
db CHALLENGE_CUP_LOST, CHALLENGE_CUP_LOST, EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_2, 2
db CHALLENGE_CUP_OVER, CHALLENGE_CUP_LOST, EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_3, 3
db CHALLENGE_CUP_OVER, CHALLENGE_CUP_NOT_STARTED, EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_4, 4
RonaldChallengeHallLobbyCup2States:
db CHALLENGE_CUP_READY_TO_START, CHALLENGE_CUP_NOT_STARTED, EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_5, 5
db CHALLENGE_CUP_LOST, CHALLENGE_CUP_LOST, EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_6, 6
db CHALLENGE_CUP_OVER, CHALLENGE_CUP_LOST, EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_7, 7
db CHALLENGE_CUP_OVER, CHALLENGE_CUP_NOT_STARTED, EVENT_RONALD_CHALLENGE_HALL_LOBBY_CONVO_8, 8
Script_f166:
start_script
move_active_npc NPCMovement_f232
jump_if_event_equal EVENT_RONALD_CHALLENGE_HALL_LOBBY_STATE, 1, .ows_f192
jump_if_event_equal EVENT_RONALD_CHALLENGE_HALL_LOBBY_STATE, 2, .ows_f1a5
jump_if_event_equal EVENT_RONALD_CHALLENGE_HALL_LOBBY_STATE, 3, .ows_f1b8
jump_if_event_equal EVENT_RONALD_CHALLENGE_HALL_LOBBY_STATE, 4, .ows_f1cb
jump_if_event_equal EVENT_RONALD_CHALLENGE_HALL_LOBBY_STATE, 5, .ows_f1de
jump_if_event_equal EVENT_RONALD_CHALLENGE_HALL_LOBBY_STATE, 6, .ows_f1f1
jump_if_event_equal EVENT_RONALD_CHALLENGE_HALL_LOBBY_STATE, 7, .ows_f204
jump_if_event_equal EVENT_RONALD_CHALLENGE_HALL_LOBBY_STATE, 8, .ows_f217
.ows_f192
print_npc_text Text0515
close_text_box
move_player WEST, 1
move_player WEST, 1
move_player WEST, 1
print_npc_text Text0516
script_jump .ows_f227
.ows_f1a5
print_npc_text Text0517
close_text_box
move_player WEST, 1
move_player WEST, 1
move_player WEST, 1
print_npc_text Text0518
script_jump .ows_f227
.ows_f1b8
print_npc_text Text0519
close_text_box
move_player WEST, 1
move_player WEST, 1
move_player WEST, 1
print_npc_text Text051a
script_jump .ows_f227
.ows_f1cb
print_npc_text Text051b
close_text_box
move_player WEST, 1
move_player WEST, 1
move_player WEST, 1
print_npc_text Text051c
script_jump .ows_f227
.ows_f1de
print_npc_text Text051d
close_text_box
move_player WEST, 1
move_player WEST, 1
move_player WEST, 1
print_npc_text Text051e
script_jump .ows_f227
.ows_f1f1
print_npc_text Text051f
close_text_box
move_player WEST, 1
move_player WEST, 1
move_player WEST, 1
print_npc_text Text0520
script_jump .ows_f227
.ows_f204
print_npc_text Text0521
close_text_box
move_player WEST, 1
move_player WEST, 1
move_player WEST, 1
print_npc_text Text0522
script_jump .ows_f227
.ows_f217
print_npc_text Text0523
close_text_box
move_player WEST, 1
move_player WEST, 1
move_player WEST, 1
print_npc_text Text0524
.ows_f227
close_text_box
set_player_direction SOUTH
move_player NORTH, 4
move_active_npc NPCMovement_f232
unload_active_npc
quit_script_fully
NPCMovement_f232:
db EAST
db EAST
db EAST
db EAST
db EAST
db EAST
db $ff
+354
View File
@@ -0,0 +1,354 @@
DeckMachineRoomAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_AARON
db NPC_AARON
dw Script_BeatAaron
dw Script_LostToAaron
db $00
DeckMachineRoomCloseTextBox:
ld a, MAP_EVENT_FIGHTING_DECK_MACHINE
.asm_d8af
push af
farcall Func_80b89
pop af
inc a
cp MAP_EVENT_FIRE_DECK_MACHINE + 1
jr c, .asm_d8af
ret
Script_Tech6:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text05f7, Text05f8
quit_script_fully
Script_Tech7:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text05f9, Text05fa
quit_script_fully
Script_Tech8:
start_script
test_if_event_not_equal EVENT_ALL_DECK_MACHINE_FLAGS, $ff
print_variable_npc_text Text05fb, Text05fc
quit_script_fully
Script_Aaron:
start_script
print_npc_text Text05fd
ask_question_jump Text05fe, .ows_d8e9
.ows_d8e6
print_text_quit_fully Text05ff
.ows_d8e9
print_npc_text Text0600
choose_deck_to_duel_against
close_text_box
jump_if_event_equal EVENT_AARON_DECK_MENU_CHOICE, AARON_DECK_MENU_CANCEL, .ows_d8e6
ask_question_jump Text0601, .ows_d8fb
script_jump .ows_d8e6
.ows_d8fb
print_npc_text Text0602
start_duel PRIZES_4, $ff, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatAaron:
ld a, [wMultichoiceTextboxResult_ChooseDeckToDuelAgainst]
ld c, a
set_event_value EVENT_AARON_BOOSTER_REWARD
start_script
print_npc_text Text0603
jump_if_event_equal EVENT_AARON_BOOSTER_REWARD, 1, .ows_d920
jump_if_event_equal EVENT_AARON_BOOSTER_REWARD, 2, .ows_d927
give_booster_packs BOOSTER_ENERGY_RANDOM, NO_BOOSTER, NO_BOOSTER
script_jump Script_LostToAaron.ows_d92f
.ows_d920
give_booster_packs BOOSTER_ENERGY_RANDOM, NO_BOOSTER, NO_BOOSTER
script_jump Script_LostToAaron.ows_d92f
.ows_d927
give_booster_packs BOOSTER_ENERGY_RANDOM, NO_BOOSTER, NO_BOOSTER
script_jump Script_LostToAaron.ows_d92f
Script_LostToAaron:
start_script
.ows_d92f
print_text_quit_fully Text0604
Script_d932:
start_script
print_text Text0605
ask_question_jump_default_yes Text0606, .ows_d93c
quit_script_fully
.ows_d93c
open_deck_machine $09
quit_script_fully
Script_d93f:
ld a, $02
call Func_d96c
start_script
print_text Text0607
jump_if_event_true EVENT_FIGHTING_DECK_MACHINE_ACTIVE, .ows_d963
print_text Text0608
jump_if_event_true EVENT_BEAT_MITCH, .ows_d954
quit_script_fully
.ows_d954
ask_question_jump_default_yes Text0609, .ows_d95a
quit_script_fully
.ows_d95a
play_sfx SFX_5A
max_out_event_value EVENT_FIGHTING_DECK_MACHINE_ACTIVE
replace_map_blocks MAP_EVENT_FIGHTING_DECK_MACHINE
print_text Text060a
.ows_d963
ask_question_jump_default_yes Text060b, .ows_d969
quit_script_fully
.ows_d969
open_deck_machine $01
quit_script_fully
Func_d96c:
sub 2
add a
ld c, a
ld b, 0
ld hl, ClubMapNames
add hl, bc
ld a, [hli]
ld [wTxRam2], a
ld [wTxRam2_b], a
ld a, [hl]
ld [wTxRam2 + 1], a
ld [wTxRam2_b + 1], a
ret
ClubMapNames:
tx FightingClubMapNameText
tx RockClubMapNameText
tx WaterClubMapNameText
tx LightningClubMapNameText
tx GrassClubMapNameText
tx PsychicClubMapNameText
tx ScienceClubMapNameText
tx FireClubMapNameText
Script_d995:
ld a, $03
call Func_d96c
start_script
print_text Text0607
jump_if_event_true EVENT_ROCK_DECK_MACHINE_ACTIVE, .ows_d9b9
print_text Text0608
jump_if_event_true EVENT_BEAT_GENE, .ows_d9aa
quit_script_fully
.ows_d9aa
ask_question_jump_default_yes Text0609, .ows_d9b0
quit_script_fully
.ows_d9b0
play_sfx SFX_5A
max_out_event_value EVENT_ROCK_DECK_MACHINE_ACTIVE
replace_map_blocks MAP_EVENT_ROCK_DECK_MACHINE
print_text Text060a
.ows_d9b9
ask_question_jump_default_yes Text060b, .ows_d9bf
quit_script_fully
.ows_d9bf
open_deck_machine $02
quit_script_fully
Script_d9c2:
ld a, $04
call Func_d96c
start_script
print_text Text0607
jump_if_event_true EVENT_WATER_DECK_MACHINE_ACTIVE, .ows_d9e6
print_text Text0608
jump_if_event_true EVENT_BEAT_AMY, .ows_d9d7
quit_script_fully
.ows_d9d7
ask_question_jump_default_yes Text0609, .ows_d9dd
quit_script_fully
.ows_d9dd
play_sfx SFX_5A
max_out_event_value EVENT_WATER_DECK_MACHINE_ACTIVE
replace_map_blocks MAP_EVENT_WATER_DECK_MACHINE
print_text Text060a
.ows_d9e6
ask_question_jump_default_yes Text060b, .ows_d9ec
quit_script_fully
.ows_d9ec
open_deck_machine $03
quit_script_fully
Script_d9ef:
ld a, $05
call Func_d96c
start_script
print_text Text0607
jump_if_event_true EVENT_LIGHTNING_DECK_MACHINE_ACTIVE, .ows_da13
print_text Text0608
jump_if_event_true EVENT_BEAT_ISAAC, .ows_da04
quit_script_fully
.ows_da04
ask_question_jump_default_yes Text0609, .ows_da0a
quit_script_fully
.ows_da0a
play_sfx SFX_5A
max_out_event_value EVENT_LIGHTNING_DECK_MACHINE_ACTIVE
replace_map_blocks MAP_EVENT_LIGHTNING_DECK_MACHINE
print_text Text060a
.ows_da13
ask_question_jump_default_yes Text060b, .ows_da19
quit_script_fully
.ows_da19
open_deck_machine $04
quit_script_fully
Script_da1c:
ld a, $06
call Func_d96c
start_script
print_text Text0607
jump_if_event_true EVENT_GRASS_DECK_MACHINE_ACTIVE, .ows_da40
print_text Text0608
jump_if_event_true EVENT_BEAT_NIKKI, .ows_da31
quit_script_fully
.ows_da31
ask_question_jump_default_yes Text0609, .ows_da37
quit_script_fully
.ows_da37
play_sfx SFX_5A
max_out_event_value EVENT_GRASS_DECK_MACHINE_ACTIVE
replace_map_blocks MAP_EVENT_GRASS_DECK_MACHINE
print_text Text060a
.ows_da40
ask_question_jump_default_yes Text060b, .ows_da46
quit_script_fully
.ows_da46
open_deck_machine $05
quit_script_fully
Script_da49:
ld a, $07
call Func_d96c
start_script
print_text Text0607
jump_if_event_true EVENT_PSYCHIC_DECK_MACHINE_ACTIVE, .ows_da6d
print_text Text0608
jump_if_event_true EVENT_BEAT_MURRAY, .ows_da5e
quit_script_fully
.ows_da5e
ask_question_jump_default_yes Text0609, .ows_da64
quit_script_fully
.ows_da64
play_sfx SFX_5A
max_out_event_value EVENT_PSYCHIC_DECK_MACHINE_ACTIVE
replace_map_blocks MAP_EVENT_PSYCHIC_DECK_MACHINE
print_text Text060a
.ows_da6d
ask_question_jump_default_yes Text060b, .ows_da73
quit_script_fully
.ows_da73
open_deck_machine $06
quit_script_fully
Script_da76:
ld a, $08
call Func_d96c
start_script
print_text Text0607
jump_if_event_true EVENT_SCIENCE_DECK_MACHINE_ACTIVE, .ows_da9a
print_text Text0608
jump_if_event_true EVENT_BEAT_RICK, .ows_da8b
quit_script_fully
.ows_da8b
ask_question_jump_default_yes Text0609, .ows_da91
quit_script_fully
.ows_da91
play_sfx SFX_5A
max_out_event_value EVENT_SCIENCE_DECK_MACHINE_ACTIVE
replace_map_blocks MAP_EVENT_SCIENCE_DECK_MACHINE
print_text Text060a
.ows_da9a
ask_question_jump_default_yes Text060b, .ows_daa0
quit_script_fully
.ows_daa0
open_deck_machine $07
quit_script_fully
Script_daa3:
ld a, $09
call Func_d96c
start_script
print_text Text0607
jump_if_event_true EVENT_FIRE_DECK_MACHINE_ACTIVE, .ows_dac7
print_text Text0608
jump_if_event_true EVENT_BEAT_KEN, .ows_dab8
quit_script_fully
.ows_dab8
ask_question_jump_default_yes Text0609, .ows_dabe
quit_script_fully
.ows_dabe
play_sfx SFX_5A
max_out_event_value EVENT_FIRE_DECK_MACHINE_ACTIVE
replace_map_blocks MAP_EVENT_FIRE_DECK_MACHINE
print_text Text060a
.ows_dac7
ask_question_jump_default_yes Text060b, .ows_dacd
quit_script_fully
.ows_dacd
open_deck_machine $08
quit_script_fully
Script_dad0:
start_script
print_text Text060c
ask_question_jump_default_yes Text060d, .ows_dada
quit_script_fully
.ows_dada
open_deck_machine $00
quit_script_fully
+183
View File
@@ -0,0 +1,183 @@
FightingClubAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_CHRIS
db NPC_CHRIS
dw Script_BeatChrisInFightingClub
dw Script_LostToChrisInFightingClub
db NPC_MICHAEL
db NPC_MICHAEL
dw Script_BeatMichaelInFightingClub
dw Script_LostToMichaelInFightingClub
db NPC_JESSICA
db NPC_JESSICA
dw Script_BeatJessicaInFightingClub
dw Script_LostToJessicaInFightingClub
db NPC_MITCH
db NPC_MITCH
dw Script_BeatMitch
dw Script_LostToMitch
db $00
Script_Mitch:
start_script
try_give_pc_pack $02
jump_if_event_true EVENT_BEAT_MITCH, Script_Mitch_AlreadyHaveMedal
fight_club_pupil_jump .first_interaction, .three_pupils_remaining, \
.two_pupils_remaining, .one_pupil_remaining, .all_pupils_defeated
.first_interaction
print_npc_text Text0477
set_event EVENT_PUPIL_MICHAEL_STATE, PUPIL_ACTIVE
set_event EVENT_PUPIL_CHRIS_STATE, PUPIL_ACTIVE
set_event EVENT_PUPIL_JESSICA_STATE, PUPIL_ACTIVE
quit_script_fully
.three_pupils_remaining
print_text_quit_fully Text0478
.two_pupils_remaining
print_text_quit_fully Text0479
.one_pupil_remaining
print_text_quit_fully Text047a
.all_pupils_defeated
print_npc_text Text047b
ask_question_jump Text047c, .start_duel
print_npc_text Text047d
quit_script_fully
.start_duel
print_npc_text Text047e
start_duel PRIZES_6, FIRST_STRIKE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
Script_BeatMitch:
start_script
jump_if_event_true EVENT_BEAT_MITCH, Script_Mitch_GiveBoosters
print_npc_text Text047f
max_out_event_value EVENT_BEAT_MITCH
try_give_medal_pc_packs
show_medal_received_screen EVENT_BEAT_MITCH
record_master_win $01
print_npc_text Text0480
give_booster_packs BOOSTER_LABORATORY_NEUTRAL, BOOSTER_LABORATORY_NEUTRAL, NO_BOOSTER
print_npc_text Text0481
quit_script_fully
Script_LostToMitch:
start_script
jump_if_event_true EVENT_BEAT_MITCH, Script_Mitch_PrintTrainHarderText
print_text_quit_fully Text0482
Script_Mitch_AlreadyHaveMedal:
print_npc_text Text0483
ask_question_jump Text047c, .start_duel
print_npc_text Text0484
quit_script_fully
.start_duel
print_npc_text Text0485
start_duel PRIZES_6, FIRST_STRIKE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
Script_Mitch_GiveBoosters:
print_npc_text Text0486
give_booster_packs BOOSTER_LABORATORY_NEUTRAL, BOOSTER_LABORATORY_NEUTRAL, NO_BOOSTER
print_npc_text Text0487
quit_script_fully
Script_Mitch_PrintTrainHarderText:
print_text_quit_fully Text0488
Preload_ChrisInFightingClub:
get_event_value EVENT_PUPIL_CHRIS_STATE
cp PUPIL_DEFEATED
ccf
ret
Script_de4b:
test_if_event_equal EVENT_PUPIL_CHRIS_STATE, PUPIL_DEFEATED
print_variable_npc_text Text0489, Text048a
set_event EVENT_PUPIL_CHRIS_STATE, PUPIL_REVISITED
ask_question_jump Text048b, .ows_de61
print_npc_text Text048c
quit_script_fully
.ows_de61
print_npc_text Text048d
start_duel PRIZES_4, MUSCLES_FOR_BRAINS_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatChrisInFightingClub:
start_script
print_npc_text Text048e
give_booster_packs BOOSTER_EVOLUTION_FIGHTING, BOOSTER_EVOLUTION_FIGHTING, NO_BOOSTER
print_npc_text Text048f
quit_script_fully
Script_LostToChrisInFightingClub:
start_script
print_text_quit_fully Text0490
Preload_MichaelInFightingClub:
get_event_value EVENT_PUPIL_MICHAEL_STATE
cp PUPIL_DEFEATED
ccf
ret
Script_MichaelRematch:
print_npc_text Text0491
ask_question_jump Text0492, .ows_de8d
print_npc_text Text0493
quit_script_fully
.ows_de8d
print_npc_text Text0494
start_duel PRIZES_4, HEATED_BATTLE_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatMichaelInFightingClub:
start_script
print_npc_text Text0495
give_booster_packs BOOSTER_COLOSSEUM_FIGHTING, BOOSTER_COLOSSEUM_FIGHTING, NO_BOOSTER
print_npc_text Text0496
quit_script_fully
Script_LostToMichaelInFightingClub:
start_script
print_text_quit_fully Text0497
Preload_JessicaInFightingClub:
get_event_value EVENT_PUPIL_JESSICA_STATE
cp PUPIL_DEFEATED
ccf
ret
Script_dead:
print_npc_text Text0498
ask_question_jump Text0499, .ows_deb9
print_npc_text Text049a
quit_script_fully
.ows_deb9
print_npc_text Text049b
start_duel PRIZES_4, LOVE_TO_BATTLE_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatJessicaInFightingClub:
start_script
print_npc_text Text049c
give_booster_packs BOOSTER_COLOSSEUM_FIGHTING, BOOSTER_COLOSSEUM_FIGHTING, NO_BOOSTER
print_npc_text Text049d
quit_script_fully
Script_LostToJessicaInFightingClub:
start_script
print_text_quit_fully Text049e
+3
View File
@@ -0,0 +1,3 @@
Script_Clerk1:
start_script
print_text_quit_fully Text045a
+189
View File
@@ -0,0 +1,189 @@
FightingClubLobbyAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_IMAKUNI
db NPC_IMAKUNI
dw Script_BeatImakuni
dw Script_LostToImakuni
db $00
Script_Man1:
start_script
jump_if_event_equal EVENT_MAN1_GIFT_SEQUENCE_STATE, MAN1_GIFT_SEQUENCE_COMPLETE, .ows_dce8
jump_if_event_true EVENT_TEMP_GIFTED_TO_MAN1, .ows_dce5
jump_if_event_true EVENT_MAN1_TALKED, .ows_dc91
max_out_event_value EVENT_MAN1_TALKED
pick_next_man1_requested_card
load_man1_requested_card_into_txram_slot 0
print_npc_text Text045b
max_out_event_value EVENT_MAN1_WAITING_FOR_CARD
script_jump .ows_dca5
.ows_dc91
jump_if_event_false EVENT_MAN1_WAITING_FOR_CARD, .ows_dc9d
load_man1_requested_card_into_txram_slot 0
print_npc_text Text045c
script_jump .ows_dca5
.ows_dc9d
pick_next_man1_requested_card
load_man1_requested_card_into_txram_slot 0
print_npc_text Text045d
max_out_event_value EVENT_MAN1_WAITING_FOR_CARD
.ows_dca5
load_man1_requested_card_into_txram_slot 0
ask_question_jump Text045e, .ows_dcaf
print_text_quit_fully Text045f
.ows_dcaf
jump_if_man1_requested_card_owned .ows_dcb9
load_man1_requested_card_into_txram_slot 0
load_man1_requested_card_into_txram_slot 1
print_text_quit_fully Text0460
.ows_dcb9
jump_if_man1_requested_card_in_collection .ows_dcc3
load_man1_requested_card_into_txram_slot 0
load_man1_requested_card_into_txram_slot 1
print_text_quit_fully Text0461
.ows_dcc3
load_man1_requested_card_into_txram_slot 0
load_man1_requested_card_into_txram_slot 1
print_npc_text Text0462
remove_man1_requested_card_from_collection
max_out_event_value EVENT_TEMP_GIFTED_TO_MAN1
zero_out_event_value EVENT_MAN1_WAITING_FOR_CARD
increment_event_value EVENT_MAN1_GIFT_SEQUENCE_STATE
jump_if_event_equal EVENT_MAN1_GIFT_SEQUENCE_STATE, 5, .ows_dcd7
quit_script_fully
.ows_dcd7
print_npc_text Text0463
give_card PIKACHU4
show_card_received_screen PIKACHU4
print_npc_text Text0464
set_event EVENT_MAN1_GIFT_SEQUENCE_STATE, MAN1_GIFT_SEQUENCE_COMPLETE
quit_script_fully
.ows_dce5
print_text_quit_fully Text0465
.ows_dce8
print_text_quit_fully Text0466
Preload_ImakuniInFightingClubLobby:
get_event_value EVENT_IMAKUNI_STATE
cp IMAKUNI_MENTIONED
jr z, .load_imakuni
or a ; cp IMAKUNI_NOT_MENTIONED
jr z, .dont_load
get_event_value EVENT_TEMP_DUELED_IMAKUNI
jr nz, .dont_load
get_event_value EVENT_IMAKUNI_ROOM
cp IMAKUNI_FIGHTING_CLUB
jr z, .load_imakuni
.dont_load
or a
ret
.load_imakuni
ld a, MUSIC_IMAKUNI
ld [wDefaultSong], a
scf
ret
Script_Imakuni:
start_script
set_event EVENT_IMAKUNI_STATE, IMAKUNI_TALKED
test_if_event_false EVENT_TEMP_TALKED_TO_IMAKUNI
print_variable_npc_text Text0467, Text0468
max_out_event_value EVENT_TEMP_TALKED_TO_IMAKUNI
ask_question_jump Text0469, .start_duel
print_npc_text Text046a
quit_script_fully
.start_duel
print_npc_text Text046b
start_duel PRIZES_6, IMAKUNI_DECK_ID, MUSIC_IMAKUNI
quit_script_fully
Script_BeatImakuni:
start_script
jump_if_event_equal EVENT_IMAKUNI_WIN_COUNT, 7, .give_boosters
increment_event_value EVENT_IMAKUNI_WIN_COUNT
jump_if_event_equal EVENT_IMAKUNI_WIN_COUNT, 3, .three_wins
jump_if_event_equal EVENT_IMAKUNI_WIN_COUNT, 6, .six_wins
.give_boosters
print_npc_text Text046c
give_one_of_each_trainer_booster
script_jump .done
.three_wins
print_npc_text Text046d
script_jump .give_imakuni_card
.six_wins
print_npc_text Text046e
.give_imakuni_card
print_npc_text Text046f
give_card IMAKUNI_CARD
show_card_received_screen IMAKUNI_CARD
.done
print_npc_text Text0470
script_jump Script_LostToImakuni.imakuni_common
Script_LostToImakuni:
start_script
print_npc_text Text0471
.imakuni_common
close_text_box
jump_if_player_coords_match 18, 4, .ows_dd69
script_jump .ows_dd6e
.ows_dd69
set_player_direction EAST
move_player WEST, 1
.ows_dd6e
move_active_npc NPCMovement_dd78
unload_active_npc
max_out_event_value EVENT_TEMP_DUELED_IMAKUNI
set_default_song MUSIC_OVERWORLD
play_default_song
quit_script_fully
NPCMovement_dd78:
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db EAST
db EAST
db EAST
db EAST
db EAST
db $ff
Script_Specs1:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0472, Text0473
quit_script_fully
Script_Butch:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0474, Text0475
quit_script_fully
Preload_Granny1:
get_event_value EVENT_RECEIVED_LEGENDARY_CARDS
cp TRUE
ret
Script_Granny1:
start_script
print_text_quit_fully Text0476
+150
View File
@@ -0,0 +1,150 @@
FireClubAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_JOHN
db NPC_JOHN
dw Script_BeatJohn
dw Script_LostToJohn
db NPC_ADAM
db NPC_ADAM
dw Script_BeatAdam
dw Script_LostToAdam
db NPC_JONATHAN
db NPC_JONATHAN
dw Script_BeatJonathan
dw Script_LostToJonathan
db NPC_KEN
db NPC_KEN
dw Script_BeatKen
dw Script_LostToKen
db $00
Script_John:
start_script
print_npc_text Text06a5
ask_question_jump Text06a6, .ows_eec0
print_npc_text Text06a7
quit_script_fully
.ows_eec0
print_npc_text Text06a8
start_duel PRIZES_4, ANGER_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatJohn:
start_script
print_npc_text Text06a9
give_booster_packs BOOSTER_EVOLUTION_FIRE, BOOSTER_EVOLUTION_FIRE, NO_BOOSTER
print_npc_text Text06aa
quit_script_fully
Script_LostToJohn:
start_script
print_text_quit_fully Text06ab
Script_Adam:
start_script
print_npc_text Text06ac
ask_question_jump Text06ad, .ows_eee5
print_npc_text Text06ae
quit_script_fully
.ows_eee5
print_npc_text Text06af
start_duel PRIZES_4, FLAMETHROWER_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatAdam:
start_script
print_npc_text Text06b0
give_booster_packs BOOSTER_COLOSSEUM_FIRE, BOOSTER_COLOSSEUM_FIRE, NO_BOOSTER
print_npc_text Text06b1
quit_script_fully
Script_LostToAdam:
start_script
print_text_quit_fully Text06b2
Script_Jonathan:
start_script
print_npc_text Text06b3
ask_question_jump Text06b4, .ows_ef0a
print_npc_text Text06b5
quit_script_fully
.ows_ef0a
print_npc_text Text06b6
start_duel PRIZES_4, RESHUFFLE_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatJonathan:
start_script
print_npc_text Text06b7
give_booster_packs BOOSTER_COLOSSEUM_FIRE, BOOSTER_COLOSSEUM_FIRE, NO_BOOSTER
print_npc_text Text06b8
quit_script_fully
Script_LostToJonathan:
start_script
print_text_quit_fully Text06b9
Script_Ken:
start_script
try_give_pc_pack $09
jump_if_event_true EVENT_KEN_HAD_ENOUGH_CARDS, .have_300_cards
jump_if_enough_cards_owned 300, .have_300_cards
test_if_event_zero EVENT_KEN_TALKED
print_variable_npc_text Text06ba, Text06bb
set_event EVENT_KEN_TALKED, TRUE
quit_script_fully
.have_300_cards
max_out_event_value EVENT_KEN_HAD_ENOUGH_CARDS
jump_if_event_true EVENT_BEAT_KEN, Script_Ken_AlreadyHaveMedal
test_if_event_zero EVENT_KEN_TALKED
print_variable_npc_text Text06bc, Text06bd
set_event EVENT_KEN_TALKED, TRUE
ask_question_jump Text06be, .start_duel
print_npc_text Text06bf
quit_script_fully
.start_duel
print_npc_text Text06c0
start_duel PRIZES_6, FIRE_CHARGE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
Script_BeatKen:
start_script
print_npc_text Text06c1
jump_if_event_true EVENT_BEAT_KEN, .give_booster_packs
max_out_event_value EVENT_BEAT_KEN
try_give_medal_pc_packs
show_medal_received_screen EVENT_BEAT_KEN
record_master_win $08
print_npc_text Text06c2
.give_booster_packs
give_booster_packs BOOSTER_MYSTERY_NEUTRAL, BOOSTER_MYSTERY_NEUTRAL, NO_BOOSTER
print_npc_text Text06c3
quit_script_fully
Script_LostToKen:
start_script
test_if_event_false EVENT_BEAT_KEN
print_variable_npc_text Text06c4, Text06c5
quit_script_fully
Script_Ken_AlreadyHaveMedal:
print_npc_text Text06c6
ask_question_jump Text06be, .start_duel
print_text_quit_fully Text06bf
.start_duel
print_npc_text Text06c7
start_duel PRIZES_6, FIRE_CHARGE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
+3
View File
@@ -0,0 +1,3 @@
Script_Clerk8:
start_script
print_text_quit_fully Text068c
+224
View File
@@ -0,0 +1,224 @@
FireClubLobbyAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_JESSICA
db NPC_JESSICA
dw Script_BeatJessicaInFireClubLobby
dw Script_LostToJessicaInFireClubLobby
db $00
FireClubPressedA:
ld hl, SlowpokePaintingObjectTable
call FindExtraInteractableObjects
ret
SlowpokePaintingObjectTable:
db 16, 2, NORTH
dw Script_ee76
db $00
; Given a table with data of the form:
; X, Y, Dir, Script
; Searches to try to find a match, and starts a Script if possible
FindExtraInteractableObjects:
ld de, 5
.loop
ld a, [hl]
or a
ret z
push hl
ld a, [wPlayerXCoord]
cp [hl]
jr nz, .not_match
inc hl
ld a, [wPlayerYCoord]
cp [hl]
jr nz, .not_match
inc hl
ld a, [wPlayerDirection]
cp [hl]
jr z, .match
.not_match
pop hl
add hl, de
jr .loop
.match
inc hl
ld c, [hl]
inc hl
ld b, [hl]
pop hl
call SetNextScript
scf
ret
Preload_JessicaInFireClubLobby:
get_event_value EVENT_PUPIL_JESSICA_STATE
or a ; cp PUPIL_INACTIVE
ret z
cp PUPIL_DEFEATED
ret
Script_Jessica:
start_script
jump_if_event_greater_or_equal EVENT_PUPIL_JESSICA_STATE, PUPIL_DEFEATED, Script_dead
test_if_event_equal EVENT_PUPIL_JESSICA_STATE, PUPIL_ACTIVE
print_variable_npc_text Text068d, Text068e
set_event EVENT_PUPIL_JESSICA_STATE, PUPIL_TALKED
ask_question_jump Text068f, .ows_edb2
print_npc_text Text0690
quit_script_fully
.ows_edb2
print_npc_text Text0691
start_duel PRIZES_4, LOVE_TO_BATTLE_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatJessicaInFireClubLobby:
start_script
set_event EVENT_PUPIL_JESSICA_STATE, PUPIL_DEFEATED
print_npc_text Text0692
give_booster_packs BOOSTER_COLOSSEUM_FIGHTING, BOOSTER_COLOSSEUM_FIGHTING, NO_BOOSTER
print_npc_text Text0693
close_text_box
move_active_npc_by_direction NPCMovementTable_edd2
unload_active_npc
quit_script_fully
Script_LostToJessicaInFireClubLobby:
start_script
print_text_quit_fully Text0694
NPCMovementTable_edd2:
dw NPCMovement_edda
dw NPCMovement_ede4
dw NPCMovement_edda
dw NPCMovement_edda
NPCMovement_edda:
db EAST
db NORTH
db EAST
db EAST
db EAST
db EAST
db EAST
db EAST
db EAST
db $ff
NPCMovement_ede4:
db NORTH
db EAST
db $fe, -11
Script_Chap3:
start_script
jump_if_event_greater_or_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADES_COMPLETE, .ows_ee1f
jump_if_event_true EVENT_ISHIHARA_MET, .ows_edfb
max_out_event_value EVENT_ISHIHARA_MENTIONED
max_out_event_value EVENT_ISHIHARAS_HOUSE_MENTIONED
max_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_text_quit_fully Text0695
.ows_edfb
jump_if_event_true EVENT_TEMP_TRADED_WITH_ISHIHARA, .ows_ee1c
jump_if_event_greater_or_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_3_RUMORED, .ows_ee13
jump_if_event_greater_or_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_2_RUMORED, .ows_ee0e
max_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_text_quit_fully Text0696
.ows_ee0e
max_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_text_quit_fully Text0697
.ows_ee13
jump_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS, .ows_ee1c
max_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_text_quit_fully Text0698
.ows_ee1c
print_text_quit_fully Text0699
.ows_ee1f
set_event EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_LEFT
print_text_quit_fully Text069a
Preload_Lad2:
get_event_value EVENT_LAD2_STATE
cp LAD2_SLOWPOKE_AVAILABLE
ret
Script_Lad2:
start_script
try_give_medal_pc_packs
jump_if_event_greater_or_equal EVENT_MEDAL_COUNT, 3, .ows_ee36
print_text_quit_fully Text069b
.ows_ee36
print_npc_text Text069c
ask_question_jump Text069d, .ows_ee4a
print_npc_text Text069e
set_event EVENT_LAD2_STATE, LAD2_SLOWPOKE_GONE
close_text_box
move_active_npc_by_direction NPCMovementTable_ee61
unload_active_npc
quit_script_fully
.ows_ee4a
jump_if_any_energy_cards_in_collection .ows_ee51
print_npc_text Text069f
quit_script_fully
.ows_ee51
remove_all_energy_cards_from_collection
print_text Text06a0
print_npc_text Text06a1
set_event EVENT_LAD2_STATE, LAD2_SLOWPOKE_AVAILABLE
close_text_box
move_active_npc_by_direction NPCMovementTable_ee61
unload_active_npc
quit_script_fully
NPCMovementTable_ee61:
dw NPCMovement_ee69
dw NPCMovement_ee72
dw NPCMovement_ee69
dw NPCMovement_ee69
NPCMovement_ee69:
db EAST
db SOUTH
db SOUTH
db SOUTH
db EAST
db EAST
db EAST
db EAST
db $ff
NPCMovement_ee72:
db SOUTH
db EAST
db $fe, -10
Script_ee76:
start_script
jump_if_event_equal EVENT_LAD2_STATE, LAD2_SLOWPOKE_AVAILABLE, .ows_ee7d
quit_script_fully
.ows_ee7d
set_event EVENT_LAD2_STATE, LAD2_SLOWPOKE_GONE
print_text FoundLv9SlowpokeText
give_card SLOWPOKE1
show_card_received_screen SLOWPOKE1
quit_script_fully
Script_Mania:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text06a3, Text06a4
quit_script_fully
+73
View File
@@ -0,0 +1,73 @@
; Clerk looks away from you if you can't use infrared
; This is one of the preloads that does not change whether or not they appear
Preload_GiftCenterClerk:
ld a, [wConsole]
cp CONSOLE_CGB
jr z, .cgb
ld a, NORTH
ld [wLoadNPCDirection], a
.cgb
scf
ret
Func_fc7a:
ld a, [wConsole]
ld c, a
set_event_value EVENT_CONSOLE
start_script
jump_if_event_not_equal EVENT_CONSOLE, CONSOLE_CGB, Func_fcad.ows_fcd5
print_npc_text Text06cd
gift_center 0
jump_if_event_greater_or_equal EVENT_GIFT_CENTER_MENU_CHOICE, GIFT_CENTER_MENU_EXIT, .ows_fcaa
print_npc_text Text06ce
ask_question_jump_default_yes Text06cf, .ows_fca0
print_npc_text Text06d0
script_jump .ows_fcaa
.ows_fca0
save_game 0
play_sfx SFX_56
print_text Text06d1
gift_center 1
quit_script_fully
.ows_fcaa
print_text_quit_fully Text06d2
Func_fcad:
ld a, [wd10e]
ld c, a
set_event_value EVENT_GIFT_CENTER_MENU_CHOICE
start_script
play_sfx SFX_56
save_game 0
jump_if_event_equal EVENT_GIFT_CENTER_MENU_CHOICE, GIFT_CENTER_MENU_SEND_CARD, .ows_fccc
jump_if_event_equal EVENT_GIFT_CENTER_MENU_CHOICE, GIFT_CENTER_MENU_SEND_DECK, .ows_fccf
jump_if_event_equal EVENT_GIFT_CENTER_MENU_CHOICE, GIFT_CENTER_MENU_RECEIVE_DECK, .ows_fcd2
; GIFT_CENTER_MENU_RECEIVE_CARD
script_jump Func_fc7a.ows_fcaa
.ows_fccc
print_text_quit_fully Text06d3
.ows_fccf
print_text_quit_fully Text06d4
.ows_fcd2
print_text_quit_fully Text06d5
.ows_fcd5
move_npc NPC_GIFT_CENTER_CLERK, NPCMovement_fce1
print_npc_text Text06d6
move_npc NPC_GIFT_CENTER_CLERK, NPCMovement_fce3
quit_script_fully
NPCMovement_fce1:
db SOUTH | NO_MOVE
db $ff
NPCMovement_fce3:
db NORTH | NO_MOVE
db $ff
+136
View File
@@ -0,0 +1,136 @@
GrassClubAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_KRISTIN
db NPC_KRISTIN
dw Script_BeatKristin
dw Script_LostToKristin
db NPC_HEATHER
db NPC_HEATHER
dw Script_BeatHeather
dw Script_LostToHeather
db NPC_NIKKI
db NPC_NIKKI
dw Script_BeatNikki
dw Script_LostToNikki
db $00
Script_Kristin:
start_script
test_if_event_less_than EVENT_NIKKI_STATE, NIKKI_IN_ISHIHARAS_HOUSE
print_variable_npc_text Text0704, Text0705
ask_question_jump Text0706, .ows_e714
print_text_quit_fully Text0707
.ows_e714
print_npc_text Text0708
start_duel PRIZES_4, FLOWER_GARDEN_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatKristin:
start_script
try_give_pc_pack $06
print_npc_text Text0709
give_booster_packs BOOSTER_EVOLUTION_GRASS, BOOSTER_EVOLUTION_GRASS, NO_BOOSTER
print_npc_text Text070a
max_out_event_value EVENT_BEAT_KRISTIN
jump_if_event_greater_or_equal EVENT_NIKKI_STATE, NIKKI_IN_GRASS_CLUB, .ows_e740
jump_if_event_false EVENT_BEAT_BRITTANY, .ows_e740
jump_if_event_false EVENT_BEAT_HEATHER, .ows_e740
set_event EVENT_NIKKI_STATE, NIKKI_IN_ISHIHARAS_HOUSE
max_out_event_value EVENT_ISHIHARAS_HOUSE_MENTIONED
print_npc_text Text070b
.ows_e740
quit_script_fully
Script_LostToKristin:
start_script
print_text_quit_fully Text070c
Script_Heather:
start_script
test_if_event_less_than EVENT_NIKKI_STATE, NIKKI_IN_ISHIHARAS_HOUSE
print_variable_npc_text Text070d, Text070e
ask_question_jump Text070f, .ows_e758
print_text_quit_fully Text0710
.ows_e758
print_npc_text Text0711
start_duel PRIZES_4, KALEIDOSCOPE_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatHeather:
start_script
test_if_event_less_than EVENT_NIKKI_STATE, NIKKI_IN_GRASS_CLUB
print_variable_npc_text Text0712, Text0713
give_booster_packs BOOSTER_COLOSSEUM_GRASS, BOOSTER_COLOSSEUM_GRASS, NO_BOOSTER
print_npc_text Text0714
max_out_event_value EVENT_BEAT_HEATHER
jump_if_event_greater_or_equal EVENT_NIKKI_STATE, NIKKI_IN_GRASS_CLUB, .ows_e789
jump_if_event_false EVENT_BEAT_BRITTANY, .ows_e789
jump_if_event_false EVENT_BEAT_KRISTIN, .ows_e789
set_event EVENT_NIKKI_STATE, NIKKI_IN_ISHIHARAS_HOUSE
max_out_event_value EVENT_ISHIHARAS_HOUSE_MENTIONED
print_npc_text Text0715
.ows_e789
quit_script_fully
Script_LostToHeather:
start_script
test_if_event_less_than EVENT_NIKKI_STATE, NIKKI_IN_GRASS_CLUB
print_variable_npc_text Text0716, Text0717
quit_script_fully
Preload_NikkiInGrassClub:
get_event_value EVENT_NIKKI_STATE
cp NIKKI_IN_GRASS_CLUB
ccf
ret
Script_Nikki:
ld a, [wCurMap]
cp ISHIHARAS_HOUSE
jp z, Script_NikkiInIshiharasHouse
start_script
test_if_event_false EVENT_BEAT_NIKKI
print_variable_npc_text Text0718, Text0719
ask_question_jump Text071a, .ows_e7bf
test_if_event_false EVENT_BEAT_NIKKI
print_variable_npc_text Text071b, Text071c
quit_script_fully
.ows_e7bf
jump_if_event_true EVENT_BEAT_NIKKI, .ows_e7cb
print_npc_text Text071d
start_duel PRIZES_6, FLOWER_POWER_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
.ows_e7cb
print_npc_text Text071e
start_duel PRIZES_6, FLOWER_POWER_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
Script_BeatNikki:
start_script
test_if_event_false EVENT_BEAT_NIKKI
print_variable_npc_text Text071f, Text0720
jump_if_event_true EVENT_BEAT_NIKKI, .ows_e7eb
max_out_event_value EVENT_BEAT_NIKKI
try_give_medal_pc_packs
show_medal_received_screen EVENT_BEAT_NIKKI
record_master_win $05
print_npc_text Text0721
.ows_e7eb
give_booster_packs BOOSTER_LABORATORY_NEUTRAL, BOOSTER_LABORATORY_NEUTRAL, NO_BOOSTER
script_jump Script_LostToNikki.ows_e7f3
Script_LostToNikki:
start_script
.ows_e7f3
print_text_quit_fully Text0722
+114
View File
@@ -0,0 +1,114 @@
GrassClubEntranceAfterDuel:
ld hl, GrassClubEntranceAfterDuelTable
call FindEndOfDuelScript
ret
FindEndOfDuelScript:
ld c, 0
ld a, [wDuelResult]
or a ; cp DUEL_WIN
jr z, .player_won
ld c, 2
.player_won
ld a, [wNPCDuelist]
ld b, a
ld de, 5
.check_enemy_byte_loop
ld a, [hli]
or a
ret z
cp b
jr z, .found_enemy
add hl, de
jr .check_enemy_byte_loop
.found_enemy
ld a, [hli]
ld [wTempNPC], a
ld b, 0
add hl, bc
ld c, [hl]
inc hl
ld b, [hl]
jp SetNextNPCAndScript
GrassClubEntranceAfterDuelTable:
db NPC_MICHAEL
db NPC_MICHAEL
dw Script_BeatMichaelInGrassClubEntrance
dw Script_LostToMichaelInGrassClubEntrance
db NPC_RONALD2
db NPC_RONALD2
dw Script_BeatFirstRonaldDuel
dw Script_LostToFirstRonaldDuel
db NPC_RONALD3
db NPC_RONALD3
dw Script_BeatSecondRonaldDuel
dw Script_LostToSecondRonaldDuel
db $00
Script_Clerk5:
start_script
print_text_quit_fully Text06d7
Preload_MichaelInGrassClubEntrance:
get_event_value EVENT_PUPIL_MICHAEL_STATE
or a ; cp PUPIL_INACTIVE
ret z
cp PUPIL_DEFEATED
ret
Script_Michael:
start_script
jump_if_event_greater_or_equal EVENT_PUPIL_MICHAEL_STATE, PUPIL_DEFEATED, Script_MichaelRematch
test_if_event_equal EVENT_PUPIL_MICHAEL_STATE, PUPIL_ACTIVE
print_variable_npc_text Text06d8, Text06d9
set_event EVENT_PUPIL_MICHAEL_STATE, PUPIL_TALKED
ask_question_jump Text06da, .ows_e58f
print_npc_text Text06db
quit_script_fully
.ows_e58f
print_npc_text Text06dc
start_duel PRIZES_4, HEATED_BATTLE_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatMichaelInGrassClubEntrance:
start_script
set_event EVENT_PUPIL_MICHAEL_STATE, PUPIL_DEFEATED
print_npc_text Text06dd
give_booster_packs BOOSTER_COLOSSEUM_FIGHTING, BOOSTER_COLOSSEUM_FIGHTING, NO_BOOSTER
print_npc_text Text06de
close_text_box
move_active_npc_by_direction NPCMovementTable_e5af
unload_active_npc
quit_script_fully
Script_LostToMichaelInGrassClubEntrance:
start_script
print_text_quit_fully Text06df
NPCMovementTable_e5af:
dw NPCMovement_e5b7
dw NPCMovement_e5b7
dw NPCMovement_e5b7
dw NPCMovement_e5bf
NPCMovement_e5b7:
db WEST
db WEST
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db $ff
NPCMovement_e5bf:
db SOUTH
db WEST
db WEST
db $fe, -9
+140
View File
@@ -0,0 +1,140 @@
GrassClubLobbyAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_BRITTANY
db NPC_BRITTANY
dw Script_BeatBrittany
dw Script_LostToBrittany
db $00
Script_Brittany:
start_script
test_if_event_less_than EVENT_NIKKI_STATE, NIKKI_IN_ISHIHARAS_HOUSE
print_variable_npc_text Text06e0, Text06e1
ask_question_jump Text06e2, .start_duel
print_npc_text Text06e3
quit_script_fully
.start_duel
print_npc_text Text06e4
start_duel PRIZES_4, ETCETERA_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatBrittany:
start_script
print_npc_text Text06e5
give_booster_packs BOOSTER_MYSTERY_GRASS_COLORLESS, BOOSTER_MYSTERY_GRASS_COLORLESS, NO_BOOSTER
test_if_event_less_than EVENT_NIKKI_STATE, NIKKI_IN_GRASS_CLUB
print_variable_npc_text Text06e6, Text06e7
max_out_event_value EVENT_BEAT_BRITTANY
jump_if_event_greater_or_equal EVENT_NIKKI_STATE, NIKKI_IN_GRASS_CLUB, .quit
jump_if_event_false EVENT_BEAT_KRISTIN, .quit
jump_if_event_false EVENT_BEAT_HEATHER, .quit
set_event EVENT_NIKKI_STATE, NIKKI_IN_ISHIHARAS_HOUSE
max_out_event_value EVENT_ISHIHARAS_HOUSE_MENTIONED
print_npc_text Text06e8
.quit
quit_script_fully
Script_LostToBrittany:
start_script
print_text_quit_fully Text06e9
Script_e61c:
print_text_quit_fully Text06ea
Script_Lass2:
start_script
jump_if_event_true EVENT_TEMP_TRADED_WITH_LASS2, Script_e61c
jump_if_event_greater_or_equal EVENT_LASS2_TRADE_STATE, LASS2_TRADES_COMPLETE, Script_e61c
jump_if_event_greater_or_equal EVENT_LASS2_TRADE_STATE, LASS2_TRADE_3_AVAILABLE, .ows_e6a1
jump_if_event_greater_or_equal EVENT_LASS2_TRADE_STATE, LASS2_TRADE_2_AVAILABLE, .ows_e66a
test_if_event_equal EVENT_LASS2_TRADE_STATE, LASS2_TRADE_1_AVAILABLE
print_variable_npc_text Text06eb, Text06ec
set_event EVENT_LASS2_TRADE_STATE, LASS2_TRADE_1_OFFERED
ask_question_jump Text06ed, .ows_e648
print_text_quit_fully Text06ee
.ows_e648
jump_if_card_owned ODDISH, .ows_e64f
print_text_quit_fully Text06ef
.ows_e64f
jump_if_card_in_collection ODDISH, .ows_e656
print_text_quit_fully Text06f0
.ows_e656
max_out_event_value EVENT_TEMP_TRADED_WITH_LASS2
set_event EVENT_LASS2_TRADE_STATE, LASS2_TRADE_2_AVAILABLE
print_npc_text Text06f1
print_text Text06f2
take_card ODDISH
give_card VILEPLUME
show_card_received_screen VILEPLUME
print_text_quit_fully Text06f3
.ows_e66a
test_if_event_equal EVENT_LASS2_TRADE_STATE, LASS2_TRADE_2_AVAILABLE
print_variable_npc_text Text06f4, Text06f5
set_event EVENT_LASS2_TRADE_STATE, LASS2_TRADE_2_OFFERED
ask_question_jump Text06ed, .ows_e67f
print_text_quit_fully Text06f6
.ows_e67f
jump_if_card_owned CLEFAIRY, .ows_e686
print_text_quit_fully Text06f7
.ows_e686
jump_if_card_in_collection CLEFAIRY, .ows_e68d
print_text_quit_fully Text06f8
.ows_e68d
max_out_event_value EVENT_TEMP_TRADED_WITH_LASS2
set_event EVENT_LASS2_TRADE_STATE, LASS2_TRADE_3_AVAILABLE
print_npc_text Text06f9
print_text Text06fa
take_card CLEFAIRY
give_card PIKACHU3
show_card_received_screen PIKACHU3
print_text_quit_fully Text06f3
.ows_e6a1
test_if_event_equal EVENT_LASS2_TRADE_STATE, LASS2_TRADE_3_AVAILABLE
print_variable_npc_text Text06fb, Text06fc
set_event EVENT_LASS2_TRADE_STATE, LASS2_TRADE_3_OFFERED
ask_question_jump Text06ed, .ows_e6b6
print_text_quit_fully Text06fd
.ows_e6b6
jump_if_card_owned CHARIZARD, .ows_e6bd
print_text_quit_fully Text06fe
.ows_e6bd
jump_if_card_in_collection CHARIZARD, .ows_e6c4
print_text_quit_fully Text06ff
.ows_e6c4
max_out_event_value EVENT_TEMP_TRADED_WITH_LASS2
set_event EVENT_LASS2_TRADE_STATE, LASS2_TRADES_COMPLETE
print_npc_text Text0700
print_text Text0701
take_card CHARIZARD
give_card BLASTOISE
show_card_received_screen BLASTOISE
print_text_quit_fully Text06f3
Script_Granny2:
start_script
print_text_quit_fully Text0702
Preload_Gal2:
get_event_value EVENT_RECEIVED_LEGENDARY_CARDS
cp TRUE
ret
Script_Gal2:
start_script
print_text_quit_fully Text0703
+48
View File
@@ -0,0 +1,48 @@
HallOfHonorLoadMap:
ld a, SFX_10
call PlaySFX
ret
Script_fbe1:
start_script
print_text Text05b5
ask_question_jump_default_yes Text05b6, .ows_fbee
print_text Text05b7
quit_script_fully
.ows_fbee
open_deck_machine $0a
quit_script_fully
Script_fbf1:
start_script
jump_if_event_true EVENT_RECEIVED_LEGENDARY_CARDS, .ows_fc10
max_out_event_value EVENT_RECEIVED_LEGENDARY_CARDS
print_text Text05b8
give_card ZAPDOS3
give_card MOLTRES2
give_card ARTICUNO2
give_card DRAGONITE1
show_card_received_screen $ff
.ows_fc05
flash_screen 0
print_text Text05b9
.ows_fc0a
flash_screen 1
save_game 1
play_credits
quit_script_fully
.ows_fc10
jump_if_event_equal EVENT_LEGENDARY_CARDS_RECEIVED_FLAGS, %1111, .ows_fc20
pick_legendary_card
print_text Text05ba
give_card VARIABLE_CARD
show_card_received_screen VARIABLE_CARD
script_jump .ows_fc05
.ows_fc20
print_text Text05bb
flash_screen 0
print_text Text05bc
script_jump .ows_fc0a
+219
View File
@@ -0,0 +1,219 @@
Preload_NikkiInIshiharasHouse:
get_event_value EVENT_NIKKI_STATE
cp NIKKI_IN_ISHIHARAS_HOUSE
jr nz, .dont_load
scf
ret
.dont_load
or a
ret
Script_NikkiInIshiharasHouse:
start_script
print_npc_text Text0723
set_event EVENT_NIKKI_STATE, NIKKI_IN_GRASS_CLUB
close_text_box
jump_if_npc_loaded NPC_ISHIHARA, .ows_dafb
move_active_npc_by_direction NPCMovementTable_db24
script_jump .ows_db0f
.ows_dafb
move_active_npc_by_direction NPCMovementTable_db11
print_npc_text Text0724
set_dialog_npc NPC_ISHIHARA
print_npc_text Text0725
set_dialog_npc NPC_NIKKI
print_npc_text Text0726
close_text_box
move_active_npc NPCMovement_db31
.ows_db0f
unload_active_npc
quit_script_fully
NPCMovementTable_db11:
dw NPCMovement_db19
dw NPCMovement_db20
dw NPCMovement_db19
dw NPCMovement_db19
NPCMovement_db19:
db EAST
db SOUTH
db SOUTH
db SOUTH
db EAST
db NORTH | NO_MOVE
db $ff
NPCMovement_db20:
db SOUTH
db EAST
db $fe, -8
NPCMovementTable_db24:
dw NPCMovement_db2c
dw NPCMovement_db39
dw NPCMovement_db2c
dw NPCMovement_db2c
NPCMovement_db2c:
db EAST
db SOUTH
db SOUTH
db SOUTH
db EAST
NPCMovement_db31:
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db $ff
NPCMovement_db39:
db SOUTH
db EAST
db $fe, -14
Preload_IshiharaInIshiharasHouse:
get_event_value EVENT_ISHIHARA_MENTIONED
or a
ret z
get_event_value EVENT_ISHIHARA_TRADE_STATE
cp ISHIHARA_LEFT
ret
Script_Ishihara:
start_script
max_out_event_value EVENT_ISHIHARA_MET
jump_if_event_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_INTRODUCTION, .ows_db80
jump_if_event_true EVENT_ISHIHARA_CONGRATULATED_PLAYER, .ows_db5a
jump_if_event_true EVENT_RECEIVED_LEGENDARY_CARDS, .ows_dc3e
.ows_db5a
jump_if_event_true EVENT_TEMP_TRADED_WITH_ISHIHARA, .ows_db90
jump_if_event_false EVENT_ISHIHARA_WANTS_TO_TRADE, .ows_db90
jump_if_event_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_1_RUMORED, .ows_db93
jump_if_event_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_1_OFFERED, .ows_db93
jump_if_event_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_2_RUMORED, .ows_dbcc
jump_if_event_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_2_OFFERED, .ows_dbcc
jump_if_event_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_3_RUMORED, .ows_dc05
jump_if_event_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_3_OFFERED, .ows_dc05
.ows_db80
max_out_event_value EVENT_TEMP_TRADED_WITH_ISHIHARA
set_event EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_1_RUMORED
zero_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
jump_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS, .ows_db8d
max_out_event_value EVENT_ISHIHARA_CONGRATULATED_PLAYER
.ows_db8d
print_text_quit_fully Text0727
.ows_db90
print_text_quit_fully Text0728
.ows_db93
test_if_event_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_1_RUMORED
print_variable_npc_text Text0729, Text072a
set_event EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_1_OFFERED
ask_question_jump Text072b, .check_if_clefable_owned
print_text_quit_fully Text072c
.check_if_clefable_owned
jump_if_card_owned CLEFABLE, .check_if_clefable_in_collection
print_text_quit_fully Text072d
.check_if_clefable_in_collection
jump_if_card_in_collection CLEFABLE, .do_clefable_trade
print_text_quit_fully Text072e
.do_clefable_trade
max_out_event_value EVENT_TEMP_TRADED_WITH_ISHIHARA
set_event EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_2_RUMORED
zero_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_npc_text Text072f
print_text Text0730
take_card CLEFABLE
give_card SURFING_PIKACHU1
show_card_received_screen SURFING_PIKACHU1
print_text_quit_fully Text0731
.ows_dbcc
test_if_event_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_2_RUMORED
print_variable_npc_text Text0732, Text0733
set_event EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_2_OFFERED
ask_question_jump Text072b, .check_if_ditto_owned
print_text_quit_fully Text072c
.check_if_ditto_owned
jump_if_card_owned DITTO, .check_if_ditto_in_collection
print_text_quit_fully Text0734
.check_if_ditto_in_collection
jump_if_card_in_collection DITTO, .do_ditto_trade
print_text_quit_fully Text0735
.do_ditto_trade
max_out_event_value EVENT_TEMP_TRADED_WITH_ISHIHARA
set_event EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_3_RUMORED
zero_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_npc_text Text072f
print_text Text0736
take_card DITTO
give_card FLYING_PIKACHU
show_card_received_screen FLYING_PIKACHU
print_text_quit_fully Text0737
.ows_dc05
test_if_event_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_3_RUMORED
print_variable_npc_text Text0738, Text0739
set_event EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_3_OFFERED
ask_question_jump Text072b, .check_if_chansey_owned
print_text_quit_fully Text072c
.check_if_chansey_owned
jump_if_card_owned CHANSEY, .check_if_chansey_in_collection
print_text_quit_fully Text073a
.check_if_chansey_in_collection
jump_if_card_in_collection CHANSEY, .do_chansey_trade
print_text_quit_fully Text073b
.do_chansey_trade
max_out_event_value EVENT_TEMP_TRADED_WITH_ISHIHARA
set_event EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADES_COMPLETE
zero_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_npc_text Text072f
print_text Text073c
take_card CHANSEY
give_card SURFING_PIKACHU2
show_card_received_screen SURFING_PIKACHU2
print_text_quit_fully Text073d
.ows_dc3e
max_out_event_value EVENT_ISHIHARA_CONGRATULATED_PLAYER
print_text_quit_fully Text073e
Preload_Ronald1InIshiharasHouse:
get_event_value EVENT_RECEIVED_LEGENDARY_CARDS
cp TRUE
ccf
ret
Script_Ronald:
start_script
jump_if_event_true EVENT_RONALD_TALKED, .ows_dc55
max_out_event_value EVENT_RONALD_TALKED
print_text_quit_fully Text073f
.ows_dc55
print_npc_text Text0740
ask_question_jump Text0741, .ows_dc60
print_text_quit_fully Text0742
.ows_dc60
print_text_quit_fully Text0743
; could be a commented function, or could be placed by mistake from
; someone thinking that the Ronald script ended with more code execution
ret
+184
View File
@@ -0,0 +1,184 @@
LightningClubAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_JENNIFER
db NPC_JENNIFER
dw Script_BeatJennifer
dw Script_LostToJennifer
db NPC_NICHOLAS
db NPC_NICHOLAS
dw Script_BeatNicholas
dw Script_LostToNicholas
db NPC_BRANDON
db NPC_BRANDON
dw Script_BeatBrandon
dw Script_LostToBrandon
db NPC_ISAAC
db NPC_ISAAC
dw Script_BeatIsaac
dw Script_LostToIsaac
db $00
Script_Jennifer:
start_script
print_npc_text Text061b
ask_question_jump Text061c, .ows_e415
print_npc_text Text061d
quit_script_fully
.ows_e415
print_npc_text Text061e
start_duel PRIZES_4, PIKACHU_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatJennifer:
start_script
max_out_event_value EVENT_BEAT_JENNIFER
print_npc_text Text061f
give_booster_packs BOOSTER_MYSTERY_LIGHTNING_COLORLESS, BOOSTER_MYSTERY_LIGHTNING_COLORLESS, NO_BOOSTER
print_npc_text Text0620
quit_script_fully
Script_LostToJennifer:
start_script
print_text_quit_fully Text0621
Script_Nicholas:
start_script
print_npc_text Text0622
ask_question_jump Text0623, .ows_e43c
print_npc_text Text0624
quit_script_fully
.ows_e43c
print_npc_text Text0625
start_duel PRIZES_4, BOOM_BOOM_SELFDESTRUCT_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatNicholas:
start_script
max_out_event_value EVENT_BEAT_NICHOLAS
print_npc_text Text0626
give_booster_packs BOOSTER_COLOSSEUM_LIGHTNING, BOOSTER_COLOSSEUM_LIGHTNING, NO_BOOSTER
print_npc_text Text0627
quit_script_fully
Script_LostToNicholas:
start_script
print_text_quit_fully Text0628
Script_Brandon:
start_script
jump_if_event_false EVENT_BEAT_JENNIFER, .ows_e469
jump_if_event_false EVENT_BEAT_NICHOLAS, .ows_e469
jump_if_event_false EVENT_BEAT_BRANDON, .ows_e469
print_npc_text Text0629
script_jump .ows_e46c
.ows_e469
print_npc_text Text062a
.ows_e46c
print_npc_text Text062b
ask_question_jump Text062c, .ows_e478
print_npc_text Text062d
quit_script_fully
.ows_e478
print_npc_text Text062e
start_duel PRIZES_4, POWER_GENERATOR_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatBrandon:
start_script
try_give_pc_pack $05
max_out_event_value EVENT_BEAT_BRANDON
print_npc_text Text062f
give_booster_packs BOOSTER_COLOSSEUM_LIGHTNING, BOOSTER_COLOSSEUM_LIGHTNING, NO_BOOSTER
print_npc_text Text0630
quit_script_fully
Script_LostToBrandon:
start_script
print_text_quit_fully Text0631
Preload_Isaac:
get_event_value EVENT_BEAT_JENNIFER
jr z, .asm_e4ab
get_event_value EVENT_BEAT_NICHOLAS
jr z, .asm_e4ab
get_event_value EVENT_BEAT_BRANDON
jr z, .asm_e4ab
ld a, SOUTH
ld [wLoadNPCDirection], a
.asm_e4ab
scf
ret
Script_Isaac:
start_script
jump_if_event_false EVENT_BEAT_JENNIFER, .ows_e4bd
jump_if_event_false EVENT_BEAT_NICHOLAS, .ows_e4bd
jump_if_event_false EVENT_BEAT_BRANDON, .ows_e4bd
script_jump .ows_e4c1
.ows_e4bd
print_npc_text Text0632
quit_script_fully
.ows_e4c1
jump_if_event_true EVENT_BEAT_ISAAC, Script_LostToIsaac.ows_e503
test_if_event_false EVENT_ISAAC_TALKED
print_variable_npc_text Text0633, Text0634
max_out_event_value EVENT_ISAAC_TALKED
ask_question_jump Text0635, .ows_e4d9
print_npc_text Text0636
quit_script_fully
.ows_e4d9
print_npc_text Text0637
start_duel PRIZES_6, ZAPPING_SELFDESTRUCT_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
Script_BeatIsaac:
start_script
jump_if_event_true EVENT_BEAT_ISAAC, Script_LostToIsaac.ows_e517
print_npc_text Text0638
max_out_event_value EVENT_BEAT_ISAAC
try_give_medal_pc_packs
show_medal_received_screen EVENT_BEAT_ISAAC
record_master_win $04
print_npc_text Text0639
give_booster_packs BOOSTER_MYSTERY_LIGHTNING_COLORLESS, BOOSTER_MYSTERY_LIGHTNING_COLORLESS, NO_BOOSTER
print_npc_text Text063a
quit_script_fully
Script_LostToIsaac:
start_script
jump_if_event_true EVENT_BEAT_ISAAC, .ows_e522
print_text_quit_fully Text063b
.ows_e503
print_npc_text Text063c
ask_question_jump Text0635, .ows_e50f
print_npc_text Text063d
quit_script_fully
.ows_e50f
print_npc_text Text063e
start_duel PRIZES_6, ZAPPING_SELFDESTRUCT_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
.ows_e517
print_npc_text Text063f
give_booster_packs BOOSTER_MYSTERY_LIGHTNING_COLORLESS, BOOSTER_MYSTERY_LIGHTNING_COLORLESS, NO_BOOSTER
print_npc_text Text0640
quit_script_fully
.ows_e522
print_text_quit_fully Text0641
+3
View File
@@ -0,0 +1,3 @@
Script_Clerk4:
start_script
print_text_quit_fully Text060e
+72
View File
@@ -0,0 +1,72 @@
LightningClubLobbyAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_IMAKUNI
db NPC_IMAKUNI
dw Script_BeatImakuni
dw Script_LostToImakuni
db $00
Preload_ImakuniInLightningClubLobby:
get_event_value EVENT_IMAKUNI_STATE
cp IMAKUNI_TALKED
jr c, .dont_load
get_event_value EVENT_TEMP_DUELED_IMAKUNI
jr nz, .dont_load
get_event_value EVENT_IMAKUNI_ROOM
cp IMAKUNI_LIGHTNING_CLUB
jr z, .load_imakuni
.dont_load
or a
ret
.load_imakuni
ld a, MUSIC_IMAKUNI
ld [wDefaultSong], a
scf
ret
Script_Chap2:
start_script
jump_if_event_equal EVENT_CHAP2_TRADE_STATE, CHAP2_TRADE_COMPLETED, .ows_e3d6
test_if_event_equal EVENT_CHAP2_TRADE_STATE, CHAP2_TRADE_NOT_OFFERED
print_variable_npc_text Text060f, Text0610
set_event EVENT_CHAP2_TRADE_STATE, CHAP2_TRADE_OFFERED
ask_question_jump Text0611, .ows_e3b6
print_npc_text Text0612
quit_script_fully
.ows_e3b6
jump_if_card_owned ELECTABUZZ2, .ows_e3be
print_npc_text Text0613
quit_script_fully
.ows_e3be
jump_if_card_in_collection ELECTABUZZ2, .ows_e3c6
print_npc_text Text0614
quit_script_fully
.ows_e3c6
set_event EVENT_CHAP2_TRADE_STATE, CHAP2_TRADE_COMPLETED
print_npc_text Text0615
take_card ELECTABUZZ2
give_card ELECTABUZZ1
show_card_received_screen ELECTABUZZ1
print_npc_text Text0616
quit_script_fully
.ows_e3d6
print_text_quit_fully Text0617
Script_Lass4:
start_script
print_text_quit_fully Text0618
Script_Hood1:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0619, Text061a
quit_script_fully
+509
View File
@@ -0,0 +1,509 @@
Script_BeginGame:
start_script
do_frames 60
walk_player_to_mason_lab
do_frames 120
enter_map $02, MASON_LABORATORY, 14, 26, NORTH
quit_script_fully
MasonLaboratoryAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_SAM
db NPC_SAM
dw Script_BeatSam
dw Script_LostToSam
db $00
MasonLabLoadMap:
get_event_value EVENT_MASON_LAB_STATE
cp MASON_LAB_RECEIVED_STARTER_DECK
ret nc
ld a, NPC_DRMASON
ld [wTempNPC], a
call FindLoadedNPC
ld bc, Script_EnterLabFirstTime
jp SetNextNPCAndScript
MasonLabCloseTextBox:
ld a, MAP_EVENT_CHALLENGE_MACHINE
farcall Func_80b89
ret
; Lets you access the Challenge Machine if available
MasonLabPressedA:
get_event_value EVENT_RECEIVED_LEGENDARY_CARDS
or a
ret z
ld hl, ChallengeMachineObjectTable
call FindExtraInteractableObjects
ret
ChallengeMachineObjectTable:
db 10, 4, NORTH
dw Script_ChallengeMachine
db 12, 4, NORTH
dw Script_ChallengeMachine
db $00
Script_ChallengeMachine:
start_script
print_text ItsTheChallengeMachineText
challenge_machine
quit_script_fully
Script_Tech1:
lb bc, 0, EnergyCardList.end - EnergyCardList
ld hl, EnergyCardList
.count_loop
ld a, [hli]
call GetCardCountInCollection
add b
ld b, a
dec c
jr nz, .count_loop
ld a, b
cp 10
jr c, .low_on_energies
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Tech1MasterMedalExplanationText, Tech1AutoDeckMachineExplanationText
quit_script_fully
.low_on_energies
ld c, EnergyCardList.end - EnergyCardList
ld hl, EnergyCardList
.next_energy_card
ld b, 10
ld a, [hli]
.add_loop
push af
call AddCardToCollection
pop af
dec b
jr nz, .add_loop
dec c
jr nz, .next_energy_card
start_script
print_npc_text Tech1FewEnergyCardsText
pause_song
play_song MUSIC_BOOSTER_PACK
print_npc_text Tech1ReceivedEnergyCardsText
wait_for_song_to_finish
resume_song
print_text_quit_fully Tech1GoodbyeText
EnergyCardList:
db GRASS_ENERGY
db FIRE_ENERGY
db WATER_ENERGY
db LIGHTNING_ENERGY
db FIGHTING_ENERGY
db PSYCHIC_ENERGY
.end
Script_Tech2:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Tech2LegendaryCardsExplanationText, Tech2LegendaryCardsCongratsText
quit_script_fully
Script_Tech3:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Tech3BoosterPackExplanationText, Tech3LegendaryCardsCongratsText
quit_script_fully
Script_Tech4:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Tech4ClubsExplanationText, Tech4DefeatedTheGrandMastersText
quit_script_fully
Preload_Tech5:
get_event_value EVENT_RECEIVED_LEGENDARY_CARDS
or a
jr z, .skip
ld hl, wLoadNPCXPos
inc [hl]
inc [hl]
.skip
scf
ret
Script_Tech5:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Tech5DiaryAndEmailExplanationText, Tech5ChallengeMachineExplanationText
quit_script_fully
Preload_Sam:
get_event_value EVENT_MASON_LAB_STATE
cp MASON_LAB_IN_PRACTICE_DUEL
jr nc, .sam_at_table
ld a, $0a
ld [wLoadNPCXPos], a
ld a, $08
ld [wLoadNPCYPos], a
ld a, SOUTH
ld [wLoadNPCDirection], a
.sam_at_table
scf
ret
Script_Sam:
start_script
show_sam_normal_multichoice
close_text_box
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_NORMAL_DUEL, .ows_d63b
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_RULES, Script_LostToSam.ows_d6b0
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_NOTHING, .ows_d637
; SAM_MENU_PRACTICE_DUEL
print_npc_text Text05cb
ask_question_jump Text05cc, .ows_d647
.ows_d637
print_npc_text Text05cd
quit_script_fully
.ows_d63b
print_npc_text Text05ce
ask_question_jump Text05cf, .ows_d647
print_npc_text Text05d0
quit_script_fully
.ows_d647
close_text_box
jump_if_player_coords_match 4, 12, .ows_above_sam
jump_if_player_coords_match 2, 14, .ows_left_of_sam
; ows_below_sam
set_player_direction WEST
move_player WEST, 1
set_player_direction NORTH
move_player NORTH, 1
.ows_left_of_sam
set_player_direction NORTH
move_player NORTH, 1
set_player_direction EAST
move_player EAST, 1
.ows_above_sam
set_player_direction EAST
move_player EAST, 1
move_player EAST, 1
move_player EAST, 1
set_player_direction SOUTH
move_player SOUTH, 1
set_player_direction WEST
move_active_npc NPCMovement_d889
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_NORMAL_DUEL, .ows_d685
start_duel PRIZES_2, SAMS_PRACTICE_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
.ows_d685
start_duel PRIZES_2, SAMS_NORMAL_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatSam:
start_script
jump_if_event_equal EVENT_MASON_LAB_STATE, MASON_LAB_IN_PRACTICE_DUEL, Script_EnterLabFirstTime.ows_d82d
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_PRACTICE_DUEL, Script_LostToSam.ows_d6ad
print_npc_text Text05d1
give_booster_packs BOOSTER_ENERGY_RANDOM, NO_BOOSTER, NO_BOOSTER
print_text_quit_fully Text05d2
Script_LostToSam:
start_script
jump_if_event_equal EVENT_MASON_LAB_STATE, MASON_LAB_IN_PRACTICE_DUEL, Script_EnterLabFirstTime.ows_d82d
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_PRACTICE_DUEL, .ows_d6ad
print_text_quit_fully Text05d3
.ows_d6ad
print_text_quit_fully Text05d4
.ows_d6b0
print_npc_text Text05d5
.ows_d6b3
close_text_box
show_sam_rules_multichoice
close_text_box
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_NOTHING_TO_ASK, Script_Sam.ows_d637
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_ATTACKING, .ows_d6df
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_RETREATING, .ows_d6e5
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_EVOLVING, .ows_d6eb
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_POKEMON_POWER, .ows_d6f1
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_ENDING_YOUR_TURN, .ows_d6f7
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_WIN_OR_LOSS, .ows_d6fd
; SAM_MENU_ENERGY
print_npc_text Text05d6
script_jump .ows_d6b3
.ows_d6df
print_npc_text Text05d7
script_jump .ows_d6b3
.ows_d6e5
print_npc_text Text05d8
script_jump .ows_d6b3
.ows_d6eb
print_npc_text Text05d9
script_jump .ows_d6b3
.ows_d6f1
print_npc_text Text05da
script_jump .ows_d6b3
.ows_d6f7
print_npc_text Text05db
script_jump .ows_d6b3
.ows_d6fd
print_npc_text Text05dc
script_jump .ows_d6b3
Func_d703:
get_event_value EVENT_RECEIVED_LEGENDARY_CARDS
or a
ret z
ld a, $0a
farcall Func_80ba4
ret
Preload_DrMason:
call Func_d703
get_event_value EVENT_MASON_LAB_STATE
cp MASON_LAB_IN_PRACTICE_DUEL
jr nz, .not_practice_duel
ld a, $06
ld [wLoadNPCXPos], a
ld a, $0c
ld [wLoadNPCYPos], a
.not_practice_duel
scf
ret
Script_DrMason:
start_script
jump_if_event_true EVENT_RONALD_FIRST_CLUB_ENTRANCE_ENCOUNTER, .ows_d72f
print_text_quit_fully Text05dd
.ows_d72f
try_give_medal_pc_packs
jump_if_event_greater_or_equal EVENT_MEDAL_COUNT, 2, .ows_d738
print_text_quit_fully Text05de
.ows_d738
jump_if_event_greater_or_equal EVENT_MEDAL_COUNT, 7, .ows_d740
print_text_quit_fully Text05df
.ows_d740
jump_if_event_true EVENT_RECEIVED_LEGENDARY_CARDS, .ows_d747
print_text_quit_fully Text05e0
.ows_d747
jump_if_event_true EVENT_DRMASON_CONGRATULATED_PLAYER, .ows_d750
max_out_event_value EVENT_DRMASON_CONGRATULATED_PLAYER
print_text_quit_fully Text05e1
.ows_d750
print_text_quit_fully Text05e2
Script_EnterLabFirstTime:
start_script
move_player NORTH, 2
move_player NORTH, 2
move_player NORTH, 2
move_player NORTH, 2
move_player NORTH, 2
move_player NORTH, 2
move_player NORTH, 2
move_player NORTH, 2
move_player NORTH, 2
print_npc_text Text05e3
close_advanced_text_box
set_next_npc_and_script NPC_SAM, .ows_d779
end_script
ret
.ows_d779
start_script
move_active_npc NPCMovement_d880
print_npc_text Text05e4
set_dialog_npc NPC_DRMASON
print_npc_text Text05e5
close_text_box
move_active_npc NPCMovement_d882
set_active_npc_direction EAST
set_player_direction WEST
close_advanced_text_box
set_next_npc_and_script NPC_DRMASON, .ows_d794
end_script
ret
.ows_d794
start_script
move_active_npc NPCMovement_d88b
do_frames 40
print_npc_text Text05e6
close_text_box
move_player WEST, 1
move_player WEST, 1
set_player_direction SOUTH
move_player SOUTH, 1
move_player SOUTH, 1
move_player SOUTH, 1
set_player_direction WEST
move_active_npc NPCMovement_d894
print_npc_text Text05e7
set_dialog_npc NPC_SAM
print_npc_text Text05e8
.ows_d7bc
close_text_box
show_sam_rules_multichoice
close_text_box
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_NOTHING_TO_ASK, .ows_d80c
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_ATTACKING, .ows_d7e8
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_RETREATING, .ows_d7ee
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_EVOLVING, .ows_d7f4
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_POKEMON_POWER, .ows_d7fa
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_ENDING_YOUR_TURN, .ows_d800
jump_if_event_equal EVENT_SAM_MENU_CHOICE, SAM_MENU_WIN_OR_LOSS, .ows_d806
; SAM_MENU_ENERGY
print_npc_text Text05d6
script_jump .ows_d7bc
.ows_d7e8
print_npc_text Text05d7
script_jump .ows_d7bc
.ows_d7ee
print_npc_text Text05d8
script_jump .ows_d7bc
.ows_d7f4
print_npc_text Text05d9
script_jump .ows_d7bc
.ows_d7fa
print_npc_text Text05da
script_jump .ows_d7bc
.ows_d800
print_npc_text Text05db
script_jump .ows_d7bc
.ows_d806
print_npc_text Text05dc
script_jump .ows_d7bc
.ows_d80c
print_npc_text Text05e9
ask_question_jump_default_yes NULL, .ows_d817
script_jump .ows_d7bc
.ows_d817
set_dialog_npc NPC_DRMASON
print_npc_text Text05ea
script_nop
set_event EVENT_MASON_LAB_STATE, MASON_LAB_IN_PRACTICE_DUEL
close_advanced_text_box
set_next_npc_and_script NPC_SAM, .ows_d827
end_script
ret
.ows_d827
start_script
start_duel PRIZES_2, SAMS_PRACTICE_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
.ows_d82d
close_advanced_text_box
set_next_npc_and_script NPC_DRMASON, Script_AfterPracticeDuel
end_script
ret
Script_AfterPracticeDuel:
start_script
print_npc_text Text05eb
print_npc_text Text05ef
close_text_box
move_active_npc NPCMovement_d896
set_player_direction NORTH
move_player NORTH, 1
move_player NORTH, 1
move_player NORTH, 1
set_player_direction EAST
move_player EAST, 1
move_player EAST, 1
set_player_direction NORTH
print_npc_text Text05f0
close_text_box
print_text Text05f1
close_text_box
print_npc_text Text05f2
.ows_d85f
choose_starter_deck
close_text_box
ask_question_jump Text05f3, .ows_d869
script_jump .ows_d85f
.ows_d869
print_npc_text Text05f4
close_text_box
pause_song
play_song MUSIC_BOOSTER_PACK
print_text Text05f5
wait_for_song_to_finish
resume_song
close_text_box
set_event EVENT_MASON_LAB_STATE, MASON_LAB_RECEIVED_STARTER_DECK
give_stater_deck
print_npc_text Text05f6
save_game 0
quit_script_fully
NPCMovement_d880:
db EAST
db $ff
NPCMovement_d882:
db SOUTH
db SOUTH
db WEST
db WEST
db WEST
db WEST
db SOUTH
NPCMovement_d889:
db EAST | NO_MOVE
db $ff
NPCMovement_d88b:
db WEST
db SOUTH
db SOUTH
db SOUTH
db WEST
db WEST
db WEST
db EAST | NO_MOVE
db $ff
NPCMovement_d894:
db SOUTH | NO_MOVE
db $ff
NPCMovement_d896:
db NORTH
db NORTH
db NORTH
db EAST
db EAST
db EAST
db EAST
db SOUTH | NO_MOVE
db $ff
+754
View File
@@ -0,0 +1,754 @@
PokemonDomeMovePlayer:
ld a, [wPlayerYCoord]
cp $16
ret nz
ld a, [wPlayerXCoord]
cp $0e
ret c
cp $11
ret nc
ld a, NPC_ROD
ld [wTempNPC], a
ld bc, Script_f84c
jp SetNextNPCAndScript
PokemonDomeAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_COURTNEY
db NPC_COURTNEY
dw Script_BeatCourtney
dw Script_LostToCourtney
db NPC_STEVE
db NPC_STEVE
dw Script_BeatSteve
dw Script_LostToSteve
db NPC_JACK
db NPC_JACK
dw Script_BeatJack
dw Script_LostToJack
db NPC_ROD
db NPC_ROD
dw Script_BeatRod
dw Script_LostToRod
db NPC_RONALD1
db NPC_RONALD1
dw Script_BeatRonald1InPokemonDome
dw Script_LostToRonald1InPokemonDome
db $00
PokemonDomeLoadMap:
ld a, $0d
farcall TryGivePCPack
get_event_value EVENT_POKEMON_DOME_IN_MENU
or a
ret z
ld bc, Script_f80b
jp SetNextScript
PokemonDomeCloseTextBox:
ld a, MAP_EVENT_HALL_OF_HONOR_DOOR
farcall Func_80b89
ret
Script_Courtney:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text055a, Text055b
quit_script_fully
Script_Steve:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text055c, Text055d
quit_script_fully
Script_Jack:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text055e, Text055f
quit_script_fully
Script_Rod:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0560, Text0561
quit_script_fully
Preload_Courtney:
get_event_value EVENT_COURTNEY_STATE
cp COURTNEY_CHALLENGED
jr z, PlacePokemonDomeOpponentAtDuelTable
lb bc, $16, $0c
cp COURTNEY_DEFEATED
jr z, Func_f77d
get_event_value EVENT_CHALLENGED_GRAND_MASTERS
jr nz, Func_f762
scf
ret
Func_f762:
ld a, [wLoadNPCYPos]
add $02
ld [wLoadNPCYPos], a
scf
ret
PlacePokemonDomeOpponentAtDuelTable:
ld a, $12
ld [wLoadNPCXPos], a
ld a, $0e
ld [wLoadNPCYPos], a
ld a, WEST
ld [wLoadNPCDirection], a
scf
ret
Func_f77d:
ld a, WEST
ld [wLoadNPCDirection], a
Func_f782:
ld a, b
ld [wLoadNPCXPos], a
ld a, c
ld [wLoadNPCYPos], a
scf
ret
Preload_Steve:
get_event_value EVENT_STEVE_STATE
cp STEVE_CHALLENGED
jr z, PlacePokemonDomeOpponentAtDuelTable
lb bc, $16, $0e
cp STEVE_DEFEATED
jr z, Func_f77d
get_event_value EVENT_CHALLENGED_GRAND_MASTERS
jr nz, Func_f762
scf
ret
Preload_Jack:
get_event_value EVENT_JACK_STATE
cp JACK_CHALLENGED
jr z, PlacePokemonDomeOpponentAtDuelTable
lb bc, $14, $0a
cp JACK_DEFEATED
jr z, Func_f77d
get_event_value EVENT_CHALLENGED_GRAND_MASTERS
jr nz, Func_f762
scf
ret
Preload_Rod:
get_event_value EVENT_ROD_STATE
cp ROD_CHALLENGED
jr z, PlacePokemonDomeOpponentAtDuelTable
get_event_value EVENT_POKEMON_DOME_STATE
lb bc, $10, $0a
cp POKEMON_DOME_DEFEATED
jr z, Func_f782
lb bc, $0e, $0a
cp POKEMON_DOME_CHALLENGED
jr z, Func_f782
scf
ret
Preload_Ronald1InPokemonDome:
get_event_value EVENT_RONALD_POKEMON_DOME_STATE
cp RONALD_DEFEATED
ret nc
get_event_value EVENT_RONALD_POKEMON_DOME_STATE
or a
jr z, .not_challenged
ld a, MUSIC_RONALD
ld [wDefaultSong], a
jr PlacePokemonDomeOpponentAtDuelTable
.not_challenged
scf
ret
Script_f7ed:
jump_if_event_true EVENT_RECEIVED_LEGENDARY_CARDS, .ows_f7f9
print_npc_text Text0562
.ows_f7f4
close_text_box
move_player NORTH, 2
quit_script_fully
.ows_f7f9
print_npc_text Text0563
ask_question_jump Text0564, .ows_f804
script_jump .ows_f7f4
.ows_f804
enter_map $0c, POKEMON_DOME_ENTRANCE, 22, 4, NORTH
quit_script_fully
Script_f80b:
start_script
jump_if_event_equal EVENT_STEVE_STATE, STEVE_CHALLENGED, .ows_f820
jump_if_event_equal EVENT_JACK_STATE, JACK_CHALLENGED, .ows_f82b
jump_if_event_equal EVENT_ROD_STATE, ROD_CHALLENGED, .ows_f836
jump_if_event_equal EVENT_RONALD_POKEMON_DOME_STATE, RONALD_CHALLENGED, .ows_f841
.ows_f820
close_advanced_text_box
set_next_npc_and_script NPC_STEVE, .ows_f827
end_script
ret
.ows_f827
start_script
script_jump Script_BeatCourtney.ows_f996
.ows_f82b
close_advanced_text_box
set_next_npc_and_script NPC_JACK, .ows_f832
end_script
ret
.ows_f832
start_script
script_jump Script_BeatSteve.ows_fa02
.ows_f836
close_advanced_text_box
set_next_npc_and_script NPC_ROD, .ows_f83d
end_script
ret
.ows_f83d
start_script
script_jump Script_BeatJack.ows_fa78
.ows_f841
close_advanced_text_box
set_next_npc_and_script NPC_RONALD1, .ows_f848
end_script
ret
.ows_f848
start_script
script_jump Script_BeatRod.ows_fb20
Script_f84c:
start_script
jump_if_event_true EVENT_HALL_OF_HONOR_DOORS_OPEN, Script_f7ed
print_npc_text Text0565
ask_question_jump Text0566, .ows_f85f
print_npc_text Text0567
script_jump Script_f7ed.ows_f804
.ows_f85f
print_npc_text Text0568
close_text_box
jump_if_player_coords_match 14, 22, .ows_f86f
set_player_direction WEST
move_player WEST, 1
set_player_direction NORTH
.ows_f86f
move_player NORTH, 1
move_player NORTH, 1
set_player_direction WEST
move_player WEST, 1
move_player WEST, 1
set_player_direction NORTH
move_player NORTH, 1
move_player NORTH, 1
move_player NORTH, 1
move_player NORTH, 1
set_player_direction EAST
move_player EAST, 1
move_player EAST, 1
set_player_direction NORTH
test_if_event_false EVENT_CHALLENGED_GRAND_MASTERS
print_variable_npc_text Text0569, Text056a
move_active_npc NPCMovement_fb8c
jump_if_event_true EVENT_CHALLENGED_GRAND_MASTERS, .ows_f8ef
print_npc_text Text056b
close_advanced_text_box
set_next_npc_and_script NPC_COURTNEY, .ows_f8af
end_script
ret
.ows_f8af
start_script
move_active_npc NPCMovement_fb8e
close_advanced_text_box
set_next_npc_and_script NPC_ROD, .ows_f8ba
end_script
ret
.ows_f8ba
start_script
print_npc_text Text056c
close_advanced_text_box
set_next_npc_and_script NPC_STEVE, .ows_f8c5
end_script
ret
.ows_f8c5
start_script
move_active_npc NPCMovement_fb8e
close_advanced_text_box
set_next_npc_and_script NPC_ROD, .ows_f8d0
end_script
ret
.ows_f8d0
start_script
print_npc_text Text056d
close_advanced_text_box
set_next_npc_and_script NPC_JACK, .ows_f8db
end_script
ret
.ows_f8db
start_script
move_active_npc NPCMovement_fb8e
close_advanced_text_box
set_next_npc_and_script NPC_ROD, .ows_f8e6
end_script
ret
.ows_f8e6
start_script
max_out_event_value EVENT_CHALLENGED_GRAND_MASTERS
print_npc_text Text056e
script_jump .ows_f8f8
.ows_f8ef
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text056f, Text0570
.ows_f8f8
print_npc_text Text0571
close_text_box
set_player_direction WEST
move_player WEST, 1
set_player_direction SOUTH
move_player SOUTH, 1
move_player SOUTH, 1
set_player_direction EAST
move_active_npc NPCMovement_fb8d
set_event EVENT_POKEMON_DOME_STATE, POKEMON_DOME_CHALLENGED
close_advanced_text_box
set_next_npc_and_script NPC_COURTNEY, .ows_f918
end_script
ret
.ows_f918
start_script
try_give_pc_pack $0e
set_event EVENT_COURTNEY_STATE, COURTNEY_CHALLENGED
set_dialog_npc NPC_ROD
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0572, Text0573
close_text_box
set_dialog_npc NPC_COURTNEY
move_active_npc NPCMovement_fba6
set_active_npc_direction WEST
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0574, Text0575
start_duel PRIZES_6, LEGENDARY_MOLTRES_DECK_ID, MUSIC_DUEL_THEME_3
quit_script_fully
Script_LostToCourtney:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0576, Text0577
close_advanced_text_box
set_next_npc_and_script NPC_ROD, .ows_f950
end_script
ret
.ows_f950
start_script
move_active_npc NPCMovement_fba1
print_npc_text Text0578
script_jump Script_f7ed.ows_f804
Script_BeatCourtney:
start_script
set_event EVENT_COURTNEY_STATE, COURTNEY_DEFEATED
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0579, Text057a
close_text_box
move_active_npc NPCMovement_fbb7
set_active_npc_direction WEST
close_advanced_text_box
set_next_npc_and_script NPC_STEVE, .ows_f974
end_script
ret
.ows_f974
start_script
try_give_pc_pack $0f
set_event EVENT_STEVE_STATE, STEVE_CHALLENGED
set_dialog_npc NPC_ROD
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text057b, Text057c
close_text_box
set_dialog_npc NPC_STEVE
move_active_npc NPCMovement_fba4
set_active_npc_direction WEST
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text057d, Text057e
.ows_f996
zero_out_event_value EVENT_POKEMON_DOME_IN_MENU
set_dialog_npc NPC_ROD
print_npc_text Text057f
ask_question_jump_default_yes Text0580, .ows_f9af
print_npc_text Text0581
set_dialog_npc NPC_STEVE
print_npc_text Text0582
start_duel PRIZES_6, LEGENDARY_ZAPDOS_DECK_ID, MUSIC_DUEL_THEME_3
quit_script_fully
.ows_f9af
close_text_box
max_out_event_value EVENT_POKEMON_DOME_IN_MENU
open_menu
close_text_box
script_jump .ows_f996
Script_LostToSteve:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0583, Text0584
close_advanced_text_box
set_next_npc_and_script NPC_ROD, Script_LostToCourtney.ows_f950
end_script
ret
Script_BeatSteve:
start_script
set_event EVENT_STEVE_STATE, STEVE_DEFEATED
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0585, Text0586
close_text_box
move_active_npc NPCMovement_fbb8
set_active_npc_direction WEST
close_advanced_text_box
set_next_npc_and_script NPC_JACK, .ows_f9e2
end_script
ret
.ows_f9e2
start_script
set_event EVENT_JACK_STATE, JACK_CHALLENGED
set_dialog_npc NPC_ROD
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0587, Text0588
close_text_box
set_dialog_npc NPC_JACK
move_active_npc NPCMovement_fbbc
set_active_npc_direction WEST
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0589, Text058a
.ows_fa02
zero_out_event_value EVENT_POKEMON_DOME_IN_MENU
set_dialog_npc NPC_ROD
print_npc_text Text058b
ask_question_jump_default_yes Text058c, .ows_fa1b
print_npc_text Text058d
set_dialog_npc NPC_JACK
print_npc_text Text058e
start_duel PRIZES_6, LEGENDARY_ARTICUNO_DECK_ID, MUSIC_DUEL_THEME_3
quit_script_fully
.ows_fa1b
close_text_box
max_out_event_value EVENT_POKEMON_DOME_IN_MENU
open_menu
close_text_box
script_jump .ows_fa02
Script_LostToJack:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text058f, Text0590
close_advanced_text_box
set_next_npc_and_script NPC_ROD, Script_LostToCourtney.ows_f950
end_script
ret
Script_BeatJack:
start_script
set_event EVENT_JACK_STATE, JACK_DEFEATED
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0591, Text0592
close_text_box
move_active_npc NPCMovement_fbc2
set_active_npc_direction WEST
close_advanced_text_box
set_next_npc_and_script NPC_ROD, .ows_fa52
move_npc NPC_ROD, NPCMovement_f390
end_script
ret
.ows_fa52
start_script
set_event EVENT_ROD_STATE, ROD_CHALLENGED
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0593, Text0594
close_text_box
move_active_npc NPCMovement_fbaf
set_active_npc_direction WEST
jump_if_event_true EVENT_RECEIVED_LEGENDARY_CARDS, .ows_fa75
test_if_event_false EVENT_CHALLENGED_RONALD
print_variable_npc_text Text0595, Text0596
script_jump .ows_fa78
.ows_fa75
print_npc_text Text0597
.ows_fa78
zero_out_event_value EVENT_POKEMON_DOME_IN_MENU
print_npc_text Text0598
ask_question_jump_default_yes Text0599, .ows_fa90
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text059a, Text059b
start_duel PRIZES_6, LEGENDARY_DRAGONITE_DECK_ID, MUSIC_DUEL_THEME_3
quit_script_fully
.ows_fa90
close_text_box
max_out_event_value EVENT_POKEMON_DOME_IN_MENU
open_menu
close_text_box
script_jump .ows_fa78
Script_LostToRod:
start_script
print_npc_text Text059c
close_text_box
move_active_npc NPCMovement_fb9d
set_active_npc_direction SOUTH
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text059d, Text059e
script_jump Script_f7ed.ows_f804
Script_BeatRod:
start_script
set_event EVENT_ROD_STATE, ROD_DEFEATED
jump_if_event_true EVENT_RECEIVED_LEGENDARY_CARDS, .ows_fad5
test_if_event_false EVENT_CHALLENGED_RONALD
print_variable_npc_text Text059f, Text05a0
close_text_box
move_active_npc NPCMovement_fb90
set_active_npc_direction SOUTH
test_if_event_false EVENT_CHALLENGED_RONALD
print_variable_npc_text Text05a1, Text05a2
close_advanced_text_box
set_next_npc_and_script NPC_RONALD1, .ows_fae9
end_script
ret
.ows_fad5
print_npc_text Text05a3
move_active_npc NPCMovement_fb96
set_active_npc_direction SOUTH
play_sfx SFX_0F
replace_map_blocks MAP_EVENT_HALL_OF_HONOR_DOOR
set_event EVENT_POKEMON_DOME_STATE, POKEMON_DOME_DEFEATED
max_out_event_value EVENT_HALL_OF_HONOR_DOORS_OPEN
print_text_quit_fully Text05a4
.ows_fae9
start_script
override_song MUSIC_STOP
set_event EVENT_RONALD_POKEMON_DOME_STATE, RONALD_CHALLENGED
play_sfx SFX_0F
replace_map_blocks MAP_EVENT_HALL_OF_HONOR_DOOR
move_active_npc NPCMovement_fbd2
set_default_song MUSIC_RONALD
play_default_song
jump_if_event_true EVENT_CHALLENGED_RONALD, .ows_fb15
print_npc_text Text05a5
set_dialog_npc NPC_ROD
move_npc NPC_ROD, NPCMovement_fb9b
print_npc_text Text05a6
set_dialog_npc NPC_RONALD1
print_npc_text Text05a7
move_npc NPC_ROD, NPCMovement_fb99
script_jump .ows_fb18
.ows_fb15
print_npc_text Text05a8
.ows_fb18
close_text_box
move_active_npc NPCMovement_fba8
set_active_npc_direction WEST
max_out_event_value EVENT_CHALLENGED_RONALD
.ows_fb20
zero_out_event_value EVENT_POKEMON_DOME_IN_MENU
set_dialog_npc NPC_ROD
print_npc_text Text05a9
ask_question_jump_default_yes Text05aa, .ows_fb40
print_npc_text Text05ab
set_dialog_npc NPC_RONALD1
print_npc_text Text05ac
set_dialog_npc NPC_ROD
print_npc_text Text05ad
set_dialog_npc NPC_RONALD1
start_duel PRIZES_6, LEGENDARY_RONALD_DECK_ID, MUSIC_DUEL_THEME_3
quit_script_fully
.ows_fb40
close_text_box
max_out_event_value EVENT_POKEMON_DOME_IN_MENU
open_menu
close_text_box
script_jump .ows_fb20
Script_LostToRonald1InPokemonDome:
start_script
print_npc_text Text05ae
close_advanced_text_box
set_next_npc_and_script NPC_ROD, Script_LostToCourtney.ows_f950
end_script
ret
Script_BeatRonald1InPokemonDome:
start_script
set_event EVENT_RONALD_POKEMON_DOME_STATE, RONALD_DEFEATED
print_npc_text Text05af
set_dialog_npc NPC_ROD
print_npc_text Text05b0
print_text Text05b1
set_dialog_npc NPC_RONALD1
print_npc_text Text05b2
close_text_box
move_active_npc NPCMovement_fbc7
unload_active_npc
set_default_song MUSIC_HALL_OF_HONOR
play_default_song
close_advanced_text_box
set_next_npc_and_script NPC_ROD, .ows_fb76
end_script
ret
.ows_fb76
start_script
move_active_npc NPCMovement_fba1
set_player_direction NORTH
print_npc_text Text05b3
move_active_npc NPCMovement_fbb2
set_event EVENT_POKEMON_DOME_STATE, POKEMON_DOME_DEFEATED
max_out_event_value EVENT_HALL_OF_HONOR_DOORS_OPEN
record_master_win $0a
print_text_quit_fully Text05b4
NPCMovement_fb8c:
db EAST
NPCMovement_fb8d:
db SOUTH
NPCMovement_fb8e:
db SOUTH
db $ff
NPCMovement_fb90:
db NORTH
db NORTH
db WEST
db WEST
db SOUTH | NO_MOVE
db $ff
NPCMovement_fb96:
db NORTH
db NORTH
db WEST
NPCMovement_fb99:
db SOUTH | NO_MOVE
db $ff
NPCMovement_fb9b:
db NORTH | NO_MOVE
db $ff
NPCMovement_fb9d:
db NORTH
db NORTH
db WEST
db WEST
NPCMovement_fba1:
db WEST
db SOUTH
db $ff
NPCMovement_fba4:
db WEST
db WEST
NPCMovement_fba6:
db WEST
db SOUTH
NPCMovement_fba8:
db SOUTH
db SOUTH
db EAST
db SOUTH
db SOUTH
db WEST | NO_MOVE
db $ff
NPCMovement_fbaf:
db EAST
db $fe, -7
NPCMovement_fbb2:
db NORTH
db EAST
db EAST
db SOUTH | NO_MOVE
db $ff
NPCMovement_fbb7:
db NORTH
NPCMovement_fbb8:
db EAST
db EAST
db WEST | NO_MOVE
db $ff
NPCMovement_fbbc:
db EAST
db EAST
db EAST
db EAST
db $fe, -26
NPCMovement_fbc2:
db NORTH
db NORTH
db EAST
db WEST | NO_MOVE
db $ff
NPCMovement_fbc7:
db SOUTH
db SOUTH
db WEST
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db $ff
NPCMovement_fbd2:
db WEST
db WEST
db WEST
db WEST
db WEST
db WEST
db WEST
db $fe, -12
+110
View File
@@ -0,0 +1,110 @@
PokemonDomeEntranceLoadMap:
set_event_false EVENT_HALL_OF_HONOR_DOORS_OPEN
set_event_zero EVENT_POKEMON_DOME_STATE
set_event_zero EVENT_COURTNEY_STATE
set_event_zero EVENT_STEVE_STATE
set_event_zero EVENT_JACK_STATE
set_event_zero EVENT_ROD_STATE
get_event_value EVENT_RECEIVED_LEGENDARY_CARDS
or a
ret nz
set_event_zero EVENT_RONALD_POKEMON_DOME_STATE
ret
PokemonDomeEntranceCloseTextBox:
ld a, MAP_EVENT_POKEMON_DOME_DOOR
farcall Func_80b89
ret
Script_f631:
start_script
print_npc_text Text0508
close_advanced_text_box
set_next_npc_and_script NPC_RONALD1, .ows_f63c
end_script
ret
.ows_f63c
call TryGiveMedalPCPacks
get_event_value EVENT_MEDAL_COUNT
ld [wTxRam3], a
inc a
ld [wTxRam3_b], a
xor a
ld [wTxRam3 + 1], a
ld [wTxRam3_b + 1], a
start_script
jump_if_event_greater_or_equal EVENT_MEDAL_COUNT, 7, .ows_f69b
jump_if_event_false EVENT_RONALD_FIRST_CLUB_ENTRANCE_ENCOUNTER, .ows_f69b
jump_if_event_true EVENT_RONALD_POKEMON_DOME_ENTRANCE_ENCOUNTER, .ows_f69b
override_song MUSIC_RONALD
max_out_event_value EVENT_RONALD_POKEMON_DOME_ENTRANCE_ENCOUNTER
jump_if_player_coords_match 18, 2, .ows_f66e
move_active_npc NPCMovement_f69c
script_jump .ows_f671
.ows_f66e
move_active_npc NPCMovement_f69d
.ows_f671
print_npc_text Text0553
close_text_box
set_player_direction SOUTH
move_player SOUTH, 1
print_npc_text Text0554
ask_question_jump_default_yes NULL, .ows_f688
print_npc_text Text0555
script_jump .ows_f695
.ows_f688
jump_if_event_zero EVENT_MEDAL_COUNT, .ows_f692
print_npc_text Text0556
script_jump .ows_f695
.ows_f692
print_npc_text Text0557
.ows_f695
close_text_box
move_active_npc NPCMovement_f6a6
unload_active_npc
play_default_song
.ows_f69b
quit_script_fully
NPCMovement_f69c:
db EAST
NPCMovement_f69d:
db NORTH
db NORTH
db NORTH
db NORTH
db EAST
db EAST
db NORTH
db NORTH
db $ff
NPCMovement_f6a6:
db WEST
db WEST
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db $ff
Script_f6af:
start_script
try_give_medal_pc_packs
jump_if_event_equal EVENT_MEDAL_COUNT, 8, .ows_f6b9
print_text_quit_fully Text0558
.ows_f6b9
print_npc_text Text0559
play_sfx SFX_0F
replace_map_blocks MAP_EVENT_POKEMON_DOME_DOOR
do_frames 30
move_player NORTH, 1
quit_script_fully
+159
View File
@@ -0,0 +1,159 @@
PsychicClubAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_DANIEL
db NPC_DANIEL
dw Script_BeatDaniel
dw Script_LostToDaniel
db NPC_STEPHANIE
db NPC_STEPHANIE
dw Script_BeatStephanie
dw Script_LostToStephanie
db NPC_MURRAY1
db NPC_MURRAY1
dw Script_BeatMurray
dw Script_LostToMurray
db $00
Script_Daniel:
start_script
try_give_medal_pc_packs
jump_if_event_greater_or_equal EVENT_MEDAL_COUNT, 4, .ows_ea7e
jump_if_event_true EVENT_DANIEL_TALKED, .ows_ea70
max_out_event_value EVENT_DANIEL_TALKED
print_npc_text Text0669
.ows_ea70
jump_if_event_greater_or_equal EVENT_MEDAL_COUNT, 1, .ows_ea78
print_text_quit_fully Text066a
.ows_ea78
print_npc_text Text066b
script_jump .ows_ea81
.ows_ea7e
print_npc_text Text066c
.ows_ea81
ask_question_jump Text066d, .ows_ea8a
print_npc_text Text066e
quit_script_fully
.ows_ea8a
print_npc_text Text066f
start_duel PRIZES_4, NAP_TIME_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatDaniel:
start_script
print_npc_text Text0670
give_booster_packs BOOSTER_EVOLUTION_PSYCHIC, BOOSTER_EVOLUTION_PSYCHIC, NO_BOOSTER
print_npc_text Text0671
quit_script_fully
Script_LostToDaniel:
start_script
print_text_quit_fully Text0672
Script_Stephanie:
start_script
try_give_medal_pc_packs
jump_if_event_greater_or_equal EVENT_MEDAL_COUNT, 2, .ows_eaac
print_text_quit_fully Text0673
.ows_eaac
print_npc_text Text0674
ask_question_jump Text0675, .ows_eab8
print_npc_text Text0676
quit_script_fully
.ows_eab8
print_npc_text Text0677
start_duel PRIZES_4, STRANGE_POWER_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatStephanie:
start_script
print_npc_text Text0678
give_booster_packs BOOSTER_LABORATORY_PSYCHIC, BOOSTER_LABORATORY_PSYCHIC, NO_BOOSTER
print_npc_text Text0679
quit_script_fully
Script_LostToStephanie:
start_script
print_text_quit_fully Text067a
Preload_Murray2:
call TryGiveMedalPCPacks
get_event_value EVENT_MEDAL_COUNT
cp 4
ret
Preload_Murray1:
call Preload_Murray2
ccf
ret
Script_Murray:
start_script
try_give_pc_pack $07
try_give_medal_pc_packs
jump_if_event_greater_or_equal EVENT_MEDAL_COUNT, 4, .ows_eaef
print_npc_text Text067b
print_text Text067c
quit_script_fully
.ows_eaef
jump_if_event_true EVENT_BEAT_MURRAY, Script_LostToMurray.ows_eb31
test_if_event_false EVENT_MURRAY_TALKED
print_variable_npc_text Text067d, Text067e
max_out_event_value EVENT_MURRAY_TALKED
ask_question_jump Text067f, .ows_eb07
print_npc_text Text0680
quit_script_fully
.ows_eb07
print_npc_text Text0681
start_duel PRIZES_6, STRANGE_PSYSHOCK_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
Script_BeatMurray:
start_script
jump_if_event_true EVENT_BEAT_MURRAY, Script_LostToMurray.ows_eb45
print_npc_text Text0682
max_out_event_value EVENT_BEAT_MURRAY
try_give_medal_pc_packs
show_medal_received_screen EVENT_BEAT_MURRAY
record_master_win $06
print_npc_text Text0683
give_booster_packs BOOSTER_LABORATORY_PSYCHIC, BOOSTER_LABORATORY_PSYCHIC, NO_BOOSTER
print_npc_text Text0684
quit_script_fully
Script_LostToMurray:
start_script
jump_if_event_true EVENT_BEAT_MURRAY, .ows_eb50
print_text_quit_fully Text0685
.ows_eb31
print_npc_text Text0686
ask_question_jump Text067f, .ows_eb3d
print_npc_text Text0687
quit_script_fully
.ows_eb3d
print_npc_text Text0688
start_duel PRIZES_6, STRANGE_PSYSHOCK_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
.ows_eb45
print_npc_text Text0689
give_booster_packs BOOSTER_LABORATORY_PSYCHIC, BOOSTER_LABORATORY_PSYCHIC, NO_BOOSTER
print_npc_text Text068a
quit_script_fully
.ows_eb50
print_text_quit_fully Text068b
+228
View File
@@ -0,0 +1,228 @@
ClubEntranceAfterDuel:
ld hl, .after_duel_table
jp FindEndOfDuelScript
.after_duel_table
db NPC_RONALD2
db NPC_RONALD2
dw Script_BeatFirstRonaldDuel
dw Script_LostToFirstRonaldDuel
db NPC_RONALD3
db NPC_RONALD3
dw Script_BeatSecondRonaldDuel
dw Script_LostToSecondRonaldDuel
db $00
; A Ronald is already loaded or not loaded depending on Pre-Load scripts
; in data/npc_map_data.asm. This just starts a script if possible.
LoadClubEntrance:
call TryFirstRonaldDuel
call TrySecondRonaldDuel
call TryFirstRonaldEncounter
ret
TryFirstRonaldEncounter:
ld a, NPC_RONALD1
ld [wTempNPC], a
call FindLoadedNPC
ret c
ld bc, Script_FirstRonaldEncounter
jp SetNextNPCAndScript
TryFirstRonaldDuel:
ld a, NPC_RONALD2
ld [wTempNPC], a
call FindLoadedNPC
ret c
get_event_value EVENT_RONALD_FIRST_DUEL_STATE
or a
ret nz ; already dueled
ld bc, Script_FirstRonaldDuel
jp SetNextNPCAndScript
TrySecondRonaldDuel:
ld a, NPC_RONALD3
ld [wTempNPC], a
call FindLoadedNPC
ret c
get_event_value EVENT_RONALD_SECOND_DUEL_STATE
or a
ret nz ; already dueled
ld bc, Script_SecondRonaldDuel
jp SetNextNPCAndScript
Script_Clerk6:
start_script
print_text_quit_fully Text0642
Script_Lad3:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0643, Text0644
quit_script_fully
Preload_Ronald1InClubEntrance:
get_event_value EVENT_RONALD_FIRST_CLUB_ENTRANCE_ENCOUNTER
cp TRUE
ret
Script_FirstRonaldEncounter:
start_script
max_out_event_value EVENT_RONALD_FIRST_CLUB_ENTRANCE_ENCOUNTER
move_active_npc NPCMovement_e894
load_current_map_name_into_txram_slot 0
print_npc_text Text0645
close_text_box
move_player NORTH, 1
move_player NORTH, 1
print_npc_text Text0646
ask_question_jump_default_yes NULL, .ows_e882
print_npc_text Text0647
script_jump .ows_e885
.ows_e882
print_npc_text Text0648
.ows_e885
print_npc_text Text0649
close_text_box
set_player_direction WEST
move_player EAST, 4
move_active_npc NPCMovement_e894
unload_active_npc
play_default_song
quit_script_fully
NPCMovement_e894:
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db $ff
Preload_Ronald2InClubEntrance:
get_event_value EVENT_RONALD_FIRST_DUEL_STATE
ld e, 2 ; medal requirement for ronald duel
Func_e8a0:
cp RONALD_DUEL_WON
jr z, .asm_e8b4
cp RONALD_DUEL_LOST
jr nc, .asm_e8b2
call TryGiveMedalPCPacks
get_event_value EVENT_MEDAL_COUNT
cp e
jr z, .asm_e8be
.asm_e8b2
or a
ret
.asm_e8b4
ld a, $08
ld [wLoadNPCXPos], a
ld a, $08
ld [wLoadNPCYPos], a
.asm_e8be
scf
ret
Script_FirstRonaldDuel:
start_script
move_active_npc NPCMovement_e905
do_frames 60
move_active_npc NPCMovement_e90d
print_npc_text Text064a
jump_if_player_coords_match 8, 2, .ows_e8d6
set_player_direction WEST
move_player WEST, 1
.ows_e8d6
set_player_direction SOUTH
move_player SOUTH, 1
move_player SOUTH, 1
print_npc_text Text064b
set_event EVENT_RONALD_FIRST_DUEL_STATE, RONALD_DUEL_WON
start_duel PRIZES_6, IM_RONALD_DECK_ID, MUSIC_RONALD
quit_script_fully
Script_BeatFirstRonaldDuel:
start_script
print_npc_text Text064c
give_card JIGGLYPUFF1
show_card_received_screen JIGGLYPUFF1
print_npc_text Text064d
script_jump Script_LostToFirstRonaldDuel.ows_e8fb
Script_LostToFirstRonaldDuel:
start_script
print_npc_text Text064e
.ows_e8fb
set_event EVENT_RONALD_FIRST_DUEL_STATE, RONALD_DUEL_LOST
close_text_box
move_active_npc NPCMovement_e90f
unload_active_npc
play_default_song
quit_script_fully
NPCMovement_e905:
db EAST
db EAST
db EAST
db EAST
db EAST
db SOUTH
db NORTH | NO_MOVE
db $ff
NPCMovement_e90d:
db NORTH
db $ff
NPCMovement_e90f:
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db SOUTH
db $ff
Preload_Ronald3InClubEntrance:
get_event_value EVENT_RONALD_SECOND_DUEL_STATE
ld e, 5 ; medal requirement for ronald duel
jp Func_e8a0
Script_SecondRonaldDuel:
start_script
move_active_npc NPCMovement_e905
do_frames 60
move_active_npc NPCMovement_e90d
print_npc_text Text064f
jump_if_player_coords_match 8, 2, .ows_6934
set_player_direction WEST
move_player WEST, 1
.ows_6934
set_player_direction SOUTH
move_player SOUTH, 1
move_player SOUTH, 1
print_npc_text Text0650
set_event EVENT_RONALD_SECOND_DUEL_STATE, RONALD_DUEL_WON
start_duel PRIZES_6, POWERFUL_RONALD_DECK_ID, MUSIC_RONALD
quit_script_fully
Script_BeatSecondRonaldDuel:
start_script
print_npc_text Text0651
give_card SUPER_ENERGY_RETRIEVAL
show_card_received_screen SUPER_ENERGY_RETRIEVAL
print_npc_text Text0652
script_jump Script_LostToSecondRonaldDuel.ows_e959
Script_LostToSecondRonaldDuel:
start_script
print_npc_text Text0653
.ows_e959
set_event EVENT_RONALD_SECOND_DUEL_STATE, RONALD_DUEL_LOST
close_text_box
move_active_npc NPCMovement_e90f
unload_active_npc
play_default_song
quit_script_fully
+138
View File
@@ -0,0 +1,138 @@
PsychicClubLobbyAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_ROBERT
db NPC_ROBERT
dw Script_BeatRobert
dw Script_LostToRobert
db $00
PsychicClubLobbyLoadMap:
ld a, NPC_RONALD1
ld [wTempNPC], a
call FindLoadedNPC
ret c
ld bc, Script_ea02
jp SetNextNPCAndScript
Script_Robert:
start_script
print_npc_text Text0654
ask_question_jump Text0655, .ows_e98d
print_npc_text Text0656
quit_script_fully
.ows_e98d
print_npc_text Text0657
start_duel PRIZES_4, GHOST_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatRobert:
start_script
print_npc_text Text0658
give_booster_packs BOOSTER_EVOLUTION_PSYCHIC, BOOSTER_EVOLUTION_PSYCHIC, NO_BOOSTER
print_npc_text Text0659
quit_script_fully
Script_LostToRobert:
start_script
print_text_quit_fully Text065a
Script_Pappy1:
start_script
jump_if_event_equal EVENT_PAPPY1_STATE, PAPPY1_CHALLENGE_COMPLETE, .ows_e9de
jump_if_event_true EVENT_BEAT_MURRAY, .ows_e9cb
jump_if_event_equal EVENT_PAPPY1_STATE, PAPPY1_CHALLENGE_ACCEPTED, .ows_e9c8
set_event EVENT_PAPPY1_STATE, PAPPY1_TALKED
print_npc_text Text065b
ask_question_jump_default_yes Text065c, .ows_e9c2
print_text_quit_fully Text065d
.ows_e9c2
set_event EVENT_PAPPY1_STATE, PAPPY1_CHALLENGE_ACCEPTED
print_text_quit_fully Text065e
.ows_e9c8
print_text_quit_fully Text065f
.ows_e9cb
test_if_event_zero EVENT_PAPPY1_STATE
print_variable_npc_text Text0660, Text0661
give_card MEWTWO3
show_card_received_screen MEWTWO3
set_event EVENT_PAPPY1_STATE, PAPPY1_CHALLENGE_COMPLETE
print_text_quit_fully Text0662
.ows_e9de
print_text_quit_fully Text0663
_Preload_Ronald1InPsychicClubLobby:
call TryGiveMedalPCPacks
get_event_value EVENT_MEDAL_COUNT
cp 4
jr nz, .dont_load
get_event_value EVENT_RONALD_PSYCHIC_CLUB_LOBBY_ENCOUNTER
or a
jr nz, .dont_load
scf
ret
.dont_load
or a
ret
Preload_Ronald1InPsychicClubLobby:
call _Preload_Ronald1InPsychicClubLobby
ret nc
ld a, [wPlayerYCoord]
ld [wLoadNPCYPos], a
ret
Script_ea02:
start_script
move_active_npc_by_direction NPCMovementTable_ea1a
max_out_event_value EVENT_RONALD_PSYCHIC_CLUB_LOBBY_ENCOUNTER
print_npc_text Text0664
close_text_box
set_player_direction SOUTH
move_player NORTH, 4
move_player NORTH, 1
move_active_npc_by_direction NPCMovementTable_ea22
unload_active_npc
play_default_song
quit_script_fully
NPCMovementTable_ea1a:
dw NPCMovement_ea2a
dw NPCMovement_ea2a
dw NPCMovement_ea2a
dw NPCMovement_ea2a
NPCMovementTable_ea22:
dw NPCMovement_ea2c
dw NPCMovement_ea2c
dw NPCMovement_ea2c
dw NPCMovement_ea2c
NPCMovement_ea2a:
db EAST
db EAST
NPCMovement_ea2c:
db EAST
db EAST
db EAST
db $ff
Script_Gal3:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0665, Text0666
quit_script_fully
Script_Chap4:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0667, Text0668
quit_script_fully
+122
View File
@@ -0,0 +1,122 @@
RockClubAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_RYAN
db NPC_RYAN
dw Script_BeatRyan
dw Script_LostToRyan
db NPC_ANDREW
db NPC_ANDREW
dw Script_BeatAndrew
dw Script_LostToAndrew
db NPC_GENE
db NPC_GENE
dw Script_BeatGene
dw Script_LostToGene
db $00
Script_Ryan:
start_script
try_give_pc_pack $03
print_npc_text Text0795
ask_question_jump Text0796, .ows_dfff
print_npc_text Text0797
quit_script_fully
.ows_dfff
print_npc_text Text0798
start_duel PRIZES_3, EXCAVATION_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatRyan:
start_script
print_npc_text Text0799
give_booster_packs BOOSTER_EVOLUTION_FIGHTING, BOOSTER_EVOLUTION_FIGHTING, NO_BOOSTER
print_npc_text Text079a
quit_script_fully
Script_LostToRyan:
start_script
print_text_quit_fully Text079b
Script_Andrew:
start_script
try_give_pc_pack $03
print_npc_text Text079c
ask_question_jump Text079d, .ows_e026
print_npc_text Text079e
quit_script_fully
.ows_e026
print_npc_text Text079f
start_duel PRIZES_4, BLISTERING_POKEMON_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatAndrew:
start_script
print_npc_text Text07a0
give_booster_packs BOOSTER_COLOSSEUM_FIGHTING, BOOSTER_COLOSSEUM_FIGHTING, NO_BOOSTER
print_npc_text Text07a1
quit_script_fully
Script_LostToAndrew:
start_script
print_text_quit_fully Text07a2
Script_Gene:
start_script
try_give_pc_pack $03
jump_if_event_true EVENT_BEAT_GENE, Script_LostToGene.ows_e07b
print_npc_text Text07a3
ask_question_jump Text07a4, .ows_e051
print_npc_text Text07a5
quit_script_fully
.ows_e051
print_npc_text Text07a6
start_duel PRIZES_6, ROCK_CRUSHER_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
Script_BeatGene:
start_script
jump_if_event_true EVENT_BEAT_GENE, Script_LostToGene.ows_e08f
print_npc_text Text07a7
max_out_event_value EVENT_BEAT_GENE
try_give_medal_pc_packs
show_medal_received_screen EVENT_BEAT_GENE
record_master_win $02
print_npc_text Text07a8
give_booster_packs BOOSTER_MYSTERY_FIGHTING_COLORLESS, BOOSTER_MYSTERY_FIGHTING_COLORLESS, NO_BOOSTER
print_npc_text Text07a9
quit_script_fully
Script_LostToGene:
start_script
jump_if_event_true EVENT_BEAT_GENE, .ows_e09a
print_text_quit_fully Text07aa
.ows_e07b
print_npc_text Text07ab
ask_question_jump Text07a4, .ows_e087
print_npc_text Text07ac
quit_script_fully
.ows_e087
print_npc_text Text07ad
start_duel PRIZES_6, ROCK_CRUSHER_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
.ows_e08f
print_npc_text Text07ae
give_booster_packs BOOSTER_MYSTERY_FIGHTING_COLORLESS, BOOSTER_MYSTERY_FIGHTING_COLORLESS, NO_BOOSTER
print_npc_text Text07af
quit_script_fully
.ows_e09a
print_text_quit_fully Text07b0
ret
+3
View File
@@ -0,0 +1,3 @@
Script_Clerk2:
start_script
print_text_quit_fully Text0779
+156
View File
@@ -0,0 +1,156 @@
RockClubLobbyAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_CHRIS
db NPC_CHRIS
dw Script_BeatChrisInRockClubLobby
dw Script_LostToChrisInRockClubLobby
db NPC_MATTHEW
db NPC_MATTHEW
dw Script_BeatMatthew
dw Script_LostToMatthew
db $00
Preload_ChrisInRockClubLobby:
get_event_value EVENT_PUPIL_CHRIS_STATE
or a ; cp PUPIL_INACTIVE
ret z
cp PUPIL_DEFEATED
ret
Script_Chris:
start_script
jump_if_event_greater_or_equal EVENT_PUPIL_CHRIS_STATE, PUPIL_DEFEATED, Script_de4b
print_npc_text Text077a
ask_question_jump Text077b, .ows_df04
print_npc_text Text077c
quit_script_fully
.ows_df04
print_npc_text Text077d
start_duel PRIZES_4, MUSCLES_FOR_BRAINS_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatChrisInRockClubLobby:
start_script
set_event EVENT_PUPIL_CHRIS_STATE, PUPIL_DEFEATED
print_npc_text Text077e
give_booster_packs BOOSTER_EVOLUTION_FIGHTING, BOOSTER_EVOLUTION_FIGHTING, NO_BOOSTER
print_npc_text Text077f
close_text_box
move_active_npc_by_direction NPCMovementTable_df24
unload_active_npc
quit_script_fully
Script_LostToChrisInRockClubLobby:
start_script
print_text_quit_fully Text0780
NPCMovementTable_df24:
dw NPCMovement_df2c
dw NPCMovement_df2c
dw NPCMovement_df34
dw NPCMovement_df2c
NPCMovement_df2c:
db SOUTH
db SOUTH
db EAST
db EAST
db EAST
db EAST
db EAST
db $ff
NPCMovement_df34:
db EAST
db SOUTH
db SOUTH
db $fe, -9
Script_Matthew:
start_script
try_give_pc_pack $03
jump_if_event_true EVENT_RECEIVED_LEGENDARY_CARDS, .ows_df4c
test_if_event_zero EVENT_MATTHEW_STATE
print_variable_npc_text Text0781, Text0782
script_jump .ows_df4f
.ows_df4c
print_npc_text Text0783
.ows_df4f
set_event EVENT_MATTHEW_STATE, MATTHEW_TALKED
ask_question_jump Text0784, .ows_df5b
print_npc_text Text0785
quit_script_fully
.ows_df5b
print_npc_text Text0786
start_duel PRIZES_4, HARD_POKEMON_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatMatthew:
start_script
set_event EVENT_MATTHEW_STATE, MATTHEW_DEFEATED
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0787, Text0788
give_booster_packs BOOSTER_MYSTERY_FIGHTING_COLORLESS, BOOSTER_MYSTERY_FIGHTING_COLORLESS, NO_BOOSTER
print_npc_text Text0789
quit_script_fully
Script_LostToMatthew:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text078a, Text078b
quit_script_fully
Script_Woman1:
start_script
jump_if_event_greater_or_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADES_COMPLETE, .ows_dfba
jump_if_event_true EVENT_ISHIHARA_MET, .ows_df96
max_out_event_value EVENT_ISHIHARA_MENTIONED
max_out_event_value EVENT_ISHIHARAS_HOUSE_MENTIONED
max_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_text_quit_fully Text078c
.ows_df96
jump_if_event_true EVENT_TEMP_TRADED_WITH_ISHIHARA, .ows_dfb7
jump_if_event_greater_or_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_3_RUMORED, .ows_dfae
jump_if_event_greater_or_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_2_RUMORED, .ows_dfa9
max_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_text_quit_fully Text078d
.ows_dfa9
max_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_text_quit_fully Text078e
.ows_dfae
jump_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS, .ows_dfb7
max_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_text_quit_fully Text078f
.ows_dfb7
print_text_quit_fully Text0790
.ows_dfba
set_event EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_LEFT
print_text_quit_fully Text0791
Script_Chap1:
start_script
test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
print_variable_npc_text Text0792, Text0793
quit_script_fully
Preload_Lass3:
get_event_value EVENT_RECEIVED_LEGENDARY_CARDS
cp TRUE
ret
Script_Lass3:
start_script
print_text_quit_fully Text0794
+203
View File
@@ -0,0 +1,203 @@
ScienceClubAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_JOSEPH
db NPC_JOSEPH
dw Script_BeatJoseph
dw Script_LostToJoseph
db NPC_DAVID
db NPC_DAVID
dw Script_BeatDavid
dw Script_LostToDavid
db NPC_ERIK
db NPC_ERIK
dw Script_BeatErik
dw Script_LostToErik
db NPC_RICK
db NPC_RICK
dw Script_BeatRick
dw Script_LostToRick
db $00
Script_David:
start_script
test_if_event_zero EVENT_DAVID_STATE
print_variable_npc_text Text074f, Text0750
set_event EVENT_DAVID_STATE, DAVID_TALKED
ask_question_jump Text0751, .ows_ec27
print_npc_text Text0752
quit_script_fully
.ows_ec27
print_npc_text Text0753
start_duel PRIZES_4, LOVELY_NIDORAN_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatDavid:
start_script
set_event EVENT_DAVID_STATE, DAVID_DEFEATED
print_npc_text Text0754
give_booster_packs BOOSTER_MYSTERY_GRASS_COLORLESS, BOOSTER_MYSTERY_GRASS_COLORLESS, NO_BOOSTER
print_npc_text Text0755
quit_script_fully
Script_LostToDavid:
start_script
print_text_quit_fully Text0756
Script_Erik:
start_script
print_npc_text Text0757
ask_question_jump Text0758, .ows_ec4f
print_npc_text Text0759
quit_script_fully
.ows_ec4f
print_npc_text Text075a
start_duel PRIZES_4, POISON_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatErik:
start_script
print_npc_text Text075b
give_booster_packs BOOSTER_EVOLUTION_GRASS, BOOSTER_EVOLUTION_GRASS, NO_BOOSTER
print_npc_text Text075c
quit_script_fully
Script_LostToErik:
start_script
print_text_quit_fully Text075d
Script_Rick:
start_script
jump_if_event_true EVENT_BEAT_RICK, Script_LostToRick.ows_eca2
print_npc_text Text075e
ask_question_jump Text075f, .ows_ec78
print_npc_text Text0760
quit_script_fully
.ows_ec78
print_npc_text Text0761
start_duel PRIZES_6, WONDERS_OF_SCIENCE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
Script_BeatRick:
start_script
jump_if_event_true EVENT_BEAT_RICK, Script_LostToRick.ows_ecb6
print_npc_text Text0762
max_out_event_value EVENT_BEAT_RICK
try_give_medal_pc_packs
show_medal_received_screen EVENT_BEAT_RICK
record_master_win $07
print_npc_text Text0763
give_booster_packs BOOSTER_LABORATORY_GRASS, BOOSTER_LABORATORY_GRASS, NO_BOOSTER
print_npc_text Text0764
quit_script_fully
Script_LostToRick:
start_script
jump_if_event_true EVENT_BEAT_RICK, .ows_ecc1
print_text_quit_fully Text0765
.ows_eca2
print_npc_text Text0766
ask_question_jump Text075f, .ows_ecae
print_npc_text Text0767
quit_script_fully
.ows_ecae
print_npc_text Text0768
start_duel PRIZES_6, WONDERS_OF_SCIENCE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
.ows_ecb6
print_npc_text Text0769
give_booster_packs BOOSTER_LABORATORY_GRASS, BOOSTER_LABORATORY_GRASS, NO_BOOSTER
print_npc_text Text076a
quit_script_fully
.ows_ecc1
print_text_quit_fully Text076b
Preload_Joseph:
ld a, EVENT_BEAT_JOSEPH
call GetEventValue
or a
jr z, .not_defeated
; move joseph to unblock the science master's room
ld a, [wLoadNPCXPos]
add 2
ld [wLoadNPCXPos], a
ld a, WEST
ld [wLoadNPCDirection], a
.not_defeated
scf
ret
Script_Joseph:
start_script
try_give_pc_pack $08
jump_if_event_true EVENT_BEAT_JOSEPH, Script_LostToJoseph.ows_ed24
print_npc_text Text076c
ask_question_jump Text076d, .ows_ecee
print_npc_text Text076e
quit_script_fully
.ows_ecee
print_npc_text Text076f
start_duel PRIZES_4, FLYIN_POKEMON_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatJoseph:
start_script
jump_if_event_true EVENT_BEAT_JOSEPH, Script_LostToJoseph.ows_ed37
print_npc_text Text0770
close_text_box
move_active_npc_by_direction NPCMovementTable_ed11
set_active_npc_direction WEST
max_out_event_value EVENT_BEAT_JOSEPH
print_npc_text Text0771
give_booster_packs BOOSTER_LABORATORY_GRASS, BOOSTER_LABORATORY_GRASS, NO_BOOSTER
print_npc_text Text0772
quit_script_fully
NPCMovementTable_ed11:
dw NPCMovement_ed19
dw NPCMovement_ed19
dw NPCMovement_ed19
dw NPCMovement_ed19
NPCMovement_ed19:
db EAST
db WEST | NO_MOVE
db $ff
Script_LostToJoseph:
start_script
jump_if_event_true EVENT_BEAT_JOSEPH, .ows_ed42
print_text_quit_fully Text0773
.ows_ed24
print_npc_text Text0774
ask_question_jump Text076d, .ows_ed2f
print_text_quit_fully Text076e
.ows_ed2f
print_npc_text Text0775
start_duel PRIZES_4, FLYIN_POKEMON_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
.ows_ed37
print_npc_text Text0776
give_booster_packs BOOSTER_LABORATORY_GRASS, BOOSTER_LABORATORY_GRASS, NO_BOOSTER
print_npc_text Text0777
quit_script_fully
.ows_ed42
print_text_quit_fully Text0778
+3
View File
@@ -0,0 +1,3 @@
Script_Clerk7:
start_script
print_text_quit_fully Text0744
+100
View File
@@ -0,0 +1,100 @@
ScienceClubLobbyAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_IMAKUNI
db NPC_IMAKUNI
dw Script_BeatImakuni
dw Script_LostToImakuni
db $00
Preload_ImakuniInScienceClubLobby:
get_event_value EVENT_IMAKUNI_STATE
cp IMAKUNI_TALKED
jr c, .dont_load
get_event_value EVENT_TEMP_DUELED_IMAKUNI
jr nz, .dont_load
get_event_value EVENT_IMAKUNI_ROOM
cp IMAKUNI_SCIENCE_CLUB
jr z, .load_imakuni
.dont_load
or a
ret
.load_imakuni
ld a, MUSIC_IMAKUNI
ld [wDefaultSong], a
scf
ret
Script_Lad1:
start_script
jump_if_event_greater_or_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADES_COMPLETE, .ows_ebbb
jump_if_event_true EVENT_ISHIHARA_MET, .ows_eb97
max_out_event_value EVENT_ISHIHARA_MENTIONED
max_out_event_value EVENT_ISHIHARAS_HOUSE_MENTIONED
max_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_text_quit_fully Text0745
.ows_eb97
jump_if_event_true EVENT_TEMP_TRADED_WITH_ISHIHARA, .ows_ebb8
jump_if_event_greater_or_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_3_RUMORED, .ows_ebaf
jump_if_event_greater_or_equal EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_TRADE_2_RUMORED, .ows_ebaa
max_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_text_quit_fully Text0746
.ows_ebaa
max_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_text_quit_fully Text0747
.ows_ebaf
jump_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS, .ows_ebb8
max_out_event_value EVENT_ISHIHARA_WANTS_TO_TRADE
print_text_quit_fully Text0748
.ows_ebb8
print_text_quit_fully Text0749
.ows_ebbb
set_event EVENT_ISHIHARA_TRADE_STATE, ISHIHARA_LEFT
print_text_quit_fully Text074a
Script_Man3:
start_script
print_text_quit_fully Text074b
Script_Specs2:
call UpdateRNGSources
and %11
ld c, a
ld b, 0
ld hl, Data_ebe7
add hl, bc
ld e, [hl]
ld d, 0
call GetCardName
ld hl, wTxRam2
ld a, e
ld [hli], a
ld [hl], d
start_script
print_npc_text Text074c
move_active_npc NPCMovement_ebeb
print_text_quit_fully Text074d
Data_ebe7:
db PORYGON
db DITTO
db MUK
db WEEZING
NPCMovement_ebeb:
db WEST | NO_MOVE
db $ff
Script_Specs3:
start_script
print_text_quit_fully Text074e
+321
View File
@@ -0,0 +1,321 @@
WaterClubMovePlayer:
ld a, [wPlayerYCoord]
cp $8
ret nz
get_event_value EVENT_JOSHUA_STATE
cp JOSHUA_DEFEATED
ret nc
ld a, NPC_JOSHUA
ld [wTempNPC], a
ld bc, Script_NotReadyToSeeAmy
jp SetNextNPCAndScript
WaterClubAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_SARA
db NPC_SARA
dw Script_BeatSara
dw Script_LostToSara
db NPC_AMANDA
db NPC_AMANDA
dw Script_BeatAmanda
dw Script_LostToAmanda
db NPC_JOSHUA
db NPC_JOSHUA
dw Script_BeatJoshua
dw Script_LostToJoshua
db NPC_AMY
db NPC_AMY
dw Script_BeatAmy
dw Script_LostToAmy
db $00
Script_Sara:
start_script
print_npc_text Text042c
ask_question_jump Text042d, .start_duel
print_npc_text Text042e
quit_script_fully
.start_duel
print_npc_text Text042f
start_duel PRIZES_2, WATERFRONT_POKEMON_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatSara:
start_script
max_out_event_value EVENT_BEAT_SARA
print_npc_text Text0430
give_booster_packs BOOSTER_COLOSSEUM_WATER, BOOSTER_COLOSSEUM_WATER, NO_BOOSTER
print_npc_text Text0431
quit_script_fully
Script_LostToSara:
start_script
print_text_quit_fully Text0432
Script_Amanda:
start_script
print_npc_text Text0433
ask_question_jump Text0434, .start_duel
print_npc_text Text0435
quit_script_fully
.start_duel
print_npc_text Text0436
start_duel PRIZES_3, LONELY_FRIENDS_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_BeatAmanda:
start_script
max_out_event_value EVENT_BEAT_AMANDA
print_npc_text Text0437
give_booster_packs BOOSTER_MYSTERY_LIGHTNING_COLORLESS, BOOSTER_MYSTERY_LIGHTNING_COLORLESS, NO_BOOSTER
print_npc_text Text0438
quit_script_fully
Script_LostToAmanda:
start_script
print_text_quit_fully Text0439
Script_NotReadyToSeeAmy:
start_script
jump_if_player_coords_match 18, 8, .ows_e1ec
jump_if_player_coords_match 20, 8, .ows_e1f2
jump_if_player_coords_match 24, 8, .ows_e1f8
.ows_e1d5
move_player SOUTH, 4
move_active_npc NPCMovement_e213
print_npc_text Text043a
jump_if_player_coords_match 18, 10, .ows_e1fe
jump_if_player_coords_match 20, 10, .ows_e202
move_active_npc NPCMovement_e215
quit_script_fully
.ows_e1ec
move_active_npc NPCMovement_e206
script_jump .ows_e1d5
.ows_e1f2
move_active_npc NPCMovement_e20b
script_jump .ows_e1d5
.ows_e1f8
move_active_npc NPCMovement_e20f
script_jump .ows_e1d5
.ows_e1fe
move_active_npc NPCMovement_e218
quit_script_fully
.ows_e202
move_active_npc NPCMovement_e219
quit_script_fully
NPCMovement_e206:
db NORTH
db WEST
db WEST
db SOUTH | NO_MOVE
db $ff
NPCMovement_e20b:
db NORTH
db WEST
db SOUTH | NO_MOVE
db $ff
NPCMovement_e20f:
db NORTH
db EAST
db SOUTH | NO_MOVE
db $ff
NPCMovement_e213:
db SOUTH
db $ff
NPCMovement_e215:
db WEST
db SOUTH | NO_MOVE
db $ff
NPCMovement_e218:
db EAST
NPCMovement_e219:
db EAST
db SOUTH | NO_MOVE
db $ff
Script_Joshua:
start_script
jump_if_event_false EVENT_BEAT_AMANDA, .sara_and_amanda_not_beaten
jump_if_event_false EVENT_BEAT_SARA, .sara_and_amanda_not_beaten
script_jump .beat_sara_and_amanda
.sara_and_amanda_not_beaten
set_event EVENT_JOSHUA_STATE, JOSHUA_TALKED
print_npc_text Text043b
quit_script_fully
.beat_sara_and_amanda
jump_if_event_nonzero EVENT_JOSHUA_STATE, .already_talked
set_event EVENT_JOSHUA_STATE, JOSHUA_TALKED
print_npc_text Text043b
print_npc_text Text043c
.already_talked
test_if_event_equal EVENT_JOSHUA_STATE, JOSHUA_TALKED
print_variable_npc_text Text043d, Text043e
ask_question_jump Text043f, .start_duel
test_if_event_equal EVENT_JOSHUA_STATE, JOSHUA_TALKED
print_variable_npc_text Text0440, Text0441
quit_script_fully
.start_duel
print_npc_text Text0442
try_give_pc_pack $04
start_duel PRIZES_4, SOUND_OF_THE_WAVES_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
Script_LostToJoshua:
start_script
test_if_event_equal EVENT_JOSHUA_STATE, JOSHUA_TALKED
print_variable_npc_text Text0443, Text0444
quit_script_fully
Script_BeatJoshua:
start_script
test_if_event_equal EVENT_JOSHUA_STATE, JOSHUA_TALKED
print_variable_npc_text Text0445, Text0446
give_booster_packs BOOSTER_MYSTERY_WATER_COLORLESS, BOOSTER_MYSTERY_WATER_COLORLESS, NO_BOOSTER
test_if_event_equal EVENT_JOSHUA_STATE, JOSHUA_TALKED
print_variable_npc_text Text0447, Text0448
jump_if_event_not_equal EVENT_JOSHUA_STATE, JOSHUA_DEFEATED, .first_joshua_win
quit_script_fully
.first_joshua_win
set_event EVENT_JOSHUA_STATE, JOSHUA_DEFEATED
print_npc_text Text0449
close_text_box
move_active_npc_by_direction NPCMovementTable_e2a1
print_npc_text Text044a
set_active_npc_direction NORTH
close_advanced_text_box
set_next_npc_and_script NPC_AMY, Script_MeetAmy
end_script
ret
NPCMovementTable_e2a1:
dw NPCMovement_e2a9
dw NPCMovement_e2a9
dw NPCMovement_e2a9
dw NPCMovement_e2a9
NPCMovement_e2a9:
db NORTH
db $ff
NPCMovement_e2ab:
db SOUTH
db $ff
Preload_Amy:
xor a
ld [wd3d0], a
ld a, [wActiveGameEvent]
or a
jr z, .asm_e2cf
ld a, [wPlayerXCoord]
cp $14
jr nz, .asm_e2cf
ld a, [wPlayerYCoord]
cp $06
jr nz, .asm_e2cf
ld a, $14
ld [wLoadNPCXPos], a
ld a, $01
ld [wd3d0], a
.asm_e2cf
scf
ret
Script_MeetAmy:
start_script
print_npc_text Text044b
set_dialog_npc NPC_JOSHUA
print_npc_text Text044c
set_dialog_npc NPC_AMY
print_npc_text Text044d
close_text_box
set_sprite_attributes $09, $2f, $10
do_frames 32
set_sprite_attributes $04, $0e, $00
set_active_npc_coords 20, 4
set_player_direction WEST
move_player WEST, 1
set_player_direction NORTH
move_player NORTH, 1
move_player NORTH, 1
move_npc NPC_JOSHUA, NPCMovement_e2ab
print_npc_text Text044e
script_jump Script_Amy.ask_for_duel
Script_Amy:
start_script
jump_if_event_true EVENT_BEAT_AMY, Script_Amy_AlreadyHaveMedal
print_npc_text Text044f
.ask_for_duel
ask_question_jump Text0450, .start_duel
.deny_duel
print_npc_text Text0451
jump_if_active_npc_coords_match 20, 4, Script_LostToAmy.ows_e34e
quit_script_fully
.start_duel
print_npc_text Text0452
start_duel PRIZES_6, GO_GO_RAIN_DANCE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
Script_BeatAmy:
start_script
print_npc_text Text0453
jump_if_event_true EVENT_BEAT_AMY, .give_booster_packs
print_npc_text Text0454
max_out_event_value EVENT_BEAT_AMY
try_give_medal_pc_packs
show_medal_received_screen EVENT_BEAT_AMY
record_master_win $03
print_npc_text Text0455
.give_booster_packs
give_booster_packs BOOSTER_LABORATORY_WATER, BOOSTER_LABORATORY_WATER, NO_BOOSTER
print_npc_text Text0456
jump_if_active_npc_coords_match 20, 4, Script_LostToAmy.ows_e34e
quit_script_fully
Script_LostToAmy:
start_script
print_npc_text Text0457
jump_if_active_npc_coords_match 20, 4, .ows_e34e
quit_script_fully
.ows_e34e
set_sprite_attributes $08, $2e, $10
set_active_npc_coords 22, 4
quit_script_fully
Script_Amy_AlreadyHaveMedal:
print_npc_text Text0458
ask_question_jump Text0450, .start_duel
script_jump Script_Amy.deny_duel
.start_duel
print_npc_text Text0459
start_duel PRIZES_6, GO_GO_RAIN_DANCE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
+3
View File
@@ -0,0 +1,3 @@
Script_Clerk3:
start_script
print_text_quit_fully Text041c
+92
View File
@@ -0,0 +1,92 @@
WaterClubLobbyAfterDuel:
ld hl, .after_duel_table
call FindEndOfDuelScript
ret
.after_duel_table
db NPC_IMAKUNI
db NPC_IMAKUNI
dw Script_BeatImakuni
dw Script_LostToImakuni
db $00
Preload_ImakuniInWaterClubLobby:
get_event_value EVENT_IMAKUNI_STATE
cp IMAKUNI_TALKED
jr c, .dont_load
get_event_value EVENT_TEMP_DUELED_IMAKUNI
jr nz, .dont_load
get_event_value EVENT_IMAKUNI_ROOM
cp IMAKUNI_WATER_CLUB
jr z, .load_imakuni
.dont_load
or a
ret
.load_imakuni
ld a, MUSIC_IMAKUNI
ld [wDefaultSong], a
scf
ret
Script_Gal1:
start_script
jump_if_event_equal EVENT_GAL1_TRADE_STATE, GAL1_TRADE_COMPLETED, .ows_e10e
test_if_event_equal EVENT_GAL1_TRADE_STATE, GAL1_TRADE_NOT_OFFERED
print_variable_npc_text Gal1WantToTrade1Text, Gal1WantToTrade2Text
set_event EVENT_GAL1_TRADE_STATE, GAL1_TRADE_OFFERED
ask_question_jump Gal1WouldYouLikeToTradeText, .ows_e0eb
print_npc_text Gal1DeclinedTradeText
quit_script_fully
.ows_e0eb
jump_if_card_owned LAPRAS, .ows_e0f3
print_npc_text Gal1DontOwnCardText
quit_script_fully
.ows_e0f3
jump_if_card_in_collection LAPRAS, .ows_e0fb
print_npc_text Gal1CardInDeckText
quit_script_fully
.ows_e0fb
set_event EVENT_GAL1_TRADE_STATE, GAL1_TRADE_COMPLETED
print_npc_text Gal1LetsTradeText
print_text Gal1TradeCompleteText
take_card LAPRAS
give_card ARCANINE1
show_card_received_screen ARCANINE1
print_npc_text Gal1ThanksText
quit_script_fully
.ows_e10e
print_text_quit_fully Gal1AfterTradeText
Script_Lass1:
start_script
jump_if_event_equal EVENT_LASS1_MENTIONED_IMAKUNI, TRUE, .ows_e121
print_npc_text Text0427
set_event EVENT_LASS1_MENTIONED_IMAKUNI, TRUE
set_event EVENT_IMAKUNI_STATE, IMAKUNI_MENTIONED
quit_script_fully
.ows_e121
jump_if_event_not_equal EVENT_IMAKUNI_ROOM, IMAKUNI_WATER_CLUB, .ows_e12d
jump_if_event_true EVENT_TEMP_DUELED_IMAKUNI, .ows_e12d
print_text_quit_fully Text0428
.ows_e12d
print_text_quit_fully Text0429
Preload_Man2:
get_event_value EVENT_JOSHUA_STATE
cp JOSHUA_DEFEATED
ret
Script_Man2:
start_script
print_text_quit_fully Text042a
Script_Pappy2:
start_script
print_text_quit_fully Text042b
+1 -1
View File
@@ -315,7 +315,7 @@ UNION
; such as tiles or BG maps
sGfxBuffer0:: ; a000
ds $400
sGfxBuffer1:: ; a400
ds $400
+1 -1
View File
@@ -460,7 +460,7 @@ NEXTU
; used in CheckIfCurrentDeckWasChanged to determine whether
; wCurDeckCards was changed from the original
; deck it was based on
; deck it was based on
wCurDeckCardChanges:: ; c590
ds DECK_SIZE + 1