summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordannye <33dannye@gmail.com>2021-01-16 10:53:05 -0600
committerdannye <33dannye@gmail.com>2021-01-16 10:53:05 -0600
commit342a35185976cc38ad7dfdcac3e411dcb07c9e71 (patch)
tree9699a35196013d8d588e882b644f8cda5c888d86 /src
parent518e7d399cd69b3775226f0ed5b7921e92f05c64 (diff)
Create macros for remaining script commands
Diffstat (limited to 'src')
-rw-r--r--src/engine/bank03.asm303
-rw-r--r--src/engine/bank04.asm78
-rw-r--r--src/macros/scripts.asm324
3 files changed, 435 insertions, 270 deletions
diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm
index 210d3ad..8d4a8ee 100644
--- a/src/engine/bank03.asm
+++ b/src/engine/bank03.asm
@@ -1895,7 +1895,7 @@ ScriptCommand_PrintNPCText: ; ccd4 (3:4cd4)
call Func_cc32
jp IncreaseScriptPointerBy3
-Func_ccdc: ; ccdc (3:4cdc)
+ScriptCommand_PrintText: ; ccdc (3:4cdc)
ld l, c
ld h, b
call Func_c891
@@ -1960,7 +1960,7 @@ asm_cd2f:
set 6, [hl]
jp IncreaseScriptPointerBy4
-Func_cd4f: ; cd4f (3:4d4f)
+ScriptCommand_StartChallengeHallDuel: ; cd4f (3:4d4f)
call Func_cd66
ld a, [wd696]
farcall Func_118bf
@@ -1984,7 +1984,7 @@ Func_cd66: ; cd66 (3:4d66)
ld [wDuelTheme], a
ret
-Func_cd76: ; cd76 (3:4d76)
+ScriptCommand_BattleCenter: ; cd76 (3:4d76)
ld a, GAME_EVENT_BATTLE_CENTER
ld [wGameEvent], a
ld hl, wd0b4
@@ -2003,7 +2003,7 @@ ScriptCommand_PrintVariableNPCText: ; cd83 (3:4d83)
call Func_cc32
jp IncreaseScriptPointerBy5
-Func_cd94: ; cd94 (3:4d94)
+ScriptCommand_PrintTextForChallengeCup: ; cd94 (3:4d94)
get_flag_value EVENT_FLAG_44
dec a
and $3
@@ -2015,7 +2015,7 @@ Func_cd94: ; cd94 (3:4d94)
call Func_cc32
jp IncreaseScriptPointerBy7
-Func_cda8: ; cda8 (3:4da8)
+ScriptCommand_PrintVariableText: ; cda8 (3:4da8)
ld a, [wScriptControlByte]
or a
jr nz, .asm_cdb1
@@ -2038,14 +2038,14 @@ ScriptCommand_PrintTextQuitFully: ; cdb9 (3:4db9)
pop hl
ret
-Func_cdcb: ; cdcb (3:4dcb)
+ScriptCommand_UnloadActiveNPC: ; cdcb (3:4dcb)
ld a, [wScriptNPC]
ld [wLoadedNPCTempIndex], a
Func_cdd1: ; cdd1 (3:4dd1)
farcall Func_1c50a
jp IncreaseScriptPointerBy1
-Func_cdd8: ; cdd8 (3:4dd8)
+ScriptCommand_UnloadChallengeHallNPC: ; cdd8 (3:4dd8)
ld a, [wLoadedNPCTempIndex]
push af
ld a, [wTempNPC]
@@ -2060,7 +2060,7 @@ Func_cdd8: ; cdd8 (3:4dd8)
ld [wLoadedNPCTempIndex], a
ret
-Func_cdf5: ; cdf5 (3:4df5)
+ScriptCommand_SetChallengeHallNPCCoords: ; cdf5 (3:4df5)
ld a, [wLoadedNPCTempIndex]
push af
ld a, [wTempNPC]
@@ -2292,7 +2292,7 @@ ScriptCommand_TakeCard: ; cf4c (3:4f4c)
call RemoveCardFromCollection
jp IncreaseScriptPointerBy2
-Func_cf53: ; cf53 (3:4f53)
+ScriptCommand_JumpIfAnyEnergyCardsInCollection: ; cf53 (3:4f53)
ld c, $1
ld b, $0
.asm_cf57
@@ -2320,7 +2320,7 @@ Func_cf6d: ; cf6d (3:4f6d)
.asm_cf78
jp IncreaseScriptPointerBy3
-Func_cf7b: ; cf7b (3:4f7b)
+ScriptCommand_RemoveAllEnergyCardsFromCollection: ; cf7b (3:4f7b)
ld c, $1
.asm_cf7d
push bc
@@ -2373,14 +2373,14 @@ Func_cfc0: ; cfc0 (3:4fc0)
call GetScriptArgs1AfterPointer
jp SetScriptPointer
-Func_cfc6: ; cfc6 (3:4fc6)
+ScriptCommand_SetActiveNPCDirection: ; cfc6 (3:4fc6)
ld a, [wScriptNPC]
ld [wLoadedNPCTempIndex], a
ld a, c
farcall Func_1c52e
jp IncreaseScriptPointerBy2
-Func_cfd4: ; cfd4 (3:4fd4)
+ScriptCommand_PickNextMan1RequestedCard: ; cfd4 (3:4fd4)
get_flag_value EVENT_FLAG_2D
ld b, a
.asm_cfd9
@@ -2421,7 +2421,7 @@ Data_d006: ; d006 (3:5006)
db RAPIDASH
db WEEZING
-Func_d00b: ; d00b (3:500b)
+ScriptCommand_GetMan1RequestedCardNameText: ; d00b (3:500b)
sla c
ld b, $0
ld hl, wTxRam2
@@ -2437,19 +2437,19 @@ Func_d00b: ; d00b (3:500b)
ld [hl], d
jp IncreaseScriptPointerBy2
-Func_d025: ; d025 (3:5025)
+ScriptCommand_JumpIfMan1RequestedCardOwned: ; d025 (3:5025)
get_flag_value EVENT_FLAG_2B
call GetCardCountInCollectionAndDecks
jp c, Func_cf67
jp Func_cf6d
-Func_d032: ; d032 (3:5032)
+ScriptCommand_JumpIfMan1RequestedCardInCollection: ; d032 (3:5032)
get_flag_value EVENT_FLAG_2B
call GetCardCountInCollection
jp c, Func_cf67
jp Func_cf6d
-Func_d03f: ; d03f (3:503f)
+ScriptCommand_RemoveMan1RequestedCardFromCollection: ; d03f (3:503f)
get_flag_value EVENT_FLAG_2B
call RemoveCardFromCollection
jp IncreaseScriptPointerBy1
@@ -2498,7 +2498,7 @@ ScriptCommand_SetNextNPCAndScript: ; d088 (3:5088)
call SetNextNPCAndScript
jp IncreaseScriptPointerBy4
-Func_d095: ; d095 (3:5095)
+ScriptCommand_SetSpriteAttributes: ; d095 (3:5095)
ld a, [wScriptNPC]
ld [wLoadedNPCTempIndex], a
push bc
@@ -2522,7 +2522,7 @@ Func_d095: ; d095 (3:5095)
farcall Func_1c57b
jp IncreaseScriptPointerBy4
-Func_d0be: ; d0be (3:50be)
+ScriptCommand_SetActiveNPCCoords: ; d0be (3:50be)
ld a, [wScriptNPC]
ld [wLoadedNPCTempIndex], a
ld a, c
@@ -2539,7 +2539,7 @@ ScriptCommand_DoFrames: ; d0ce (3:50ce)
jr nz, ScriptCommand_DoFrames
jp IncreaseScriptPointerBy2
-Func_d0d9: ; d0d9 (3:50d9)
+ScriptCommand_JumpIfActiveNPCCoordsMatch: ; d0d9 (3:50d9)
ld a, [wScriptNPC]
ld [wLoadedNPCTempIndex], a
ld d, c
@@ -2562,7 +2562,7 @@ ScriptCommand_JumpIfPlayerCoordsMatch: ; d0f2 (3:50f2)
jp nz, ScriptEventFailedNoJump
jp ScriptEventPassedTryJump
-Func_d103: ; d103 (3:5103)
+ScriptCommand_JumpIfNPCLoaded: ; d103 (3:5103)
ld a, [wLoadedNPCTempIndex]
push af
ld a, [wTempNPC]
@@ -2584,7 +2584,7 @@ Func_d103: ; d103 (3:5103)
ld [wLoadedNPCTempIndex], a
ret
-Func_d125: ; d125 (3:5125)
+ScriptCommand_ShowMedalReceivedScreen: ; d125 (3:5125)
ld a, c
push af
call Func_c2a3
@@ -2593,7 +2593,7 @@ Func_d125: ; d125 (3:5125)
call Func_c2d4
jp IncreaseScriptPointerBy2
-Func_d135: ; d135 (3:5135)
+ScriptCommand_LoadCurrentMapNameIntoTxRamSlot: ; d135 (3:5135)
sla c
ld b, $0
ld hl, wTxRam2
@@ -2628,7 +2628,7 @@ MapNames: ; d153 (3:5153)
tx ChallengeHallMapNameText
tx PokemonDomeMapNameText
-Func_d16b: ; d16b (3:516b)
+ScriptCommand_LoadActiveNPCNameIntoTxRamSlot: ; d16b (3:516b)
ld hl, wCurrentNPCNameTx
ld e, [hl]
inc hl
@@ -2653,7 +2653,7 @@ Func_d16b: ; d16b (3:516b)
ld [hl], d
jp IncreaseScriptPointerBy2
-Func_d195: ; d195 (3:5195)
+ScriptCommand_PickChallengeHallOpponent: ; d195 (3:5195)
ld a, [wTempNPC]
push af
get_flag_value EVENT_FLAG_45
@@ -2665,11 +2665,11 @@ Func_d195: ; d195 (3:5195)
ld [wTempNPC], a
jp IncreaseScriptPointerBy1
-Func_d1ad: ; d1ad (3:51ad)
+ScriptCommand_OpenMenu: ; d1ad (3:51ad)
call MainMenu_c75a
jp IncreaseScriptPointerBy1
-Func_d1b3: ; d1b3 (3:51b3)
+ScriptCommand_PickChallengeCupPrizeCard: ; d1b3 (3:51b3)
get_flag_value EVENT_FLAG_44
dec a
cp $2
@@ -2742,7 +2742,7 @@ ChallengeCupPrizeCards: ; d1dc (3:51dc)
db FLYING_PIKACHU
tx FlyingPikachuTradeCardName
-Func_d209: ; d209 (3:5209)
+ScriptCommand_PickLegendaryCard: ; d209 (3:5209)
get_flag_value EVENT_FLAG_71
ld e, a
.asm_d20e
@@ -2791,7 +2791,7 @@ Flags_d240: ; d240 (3:5240)
db EVENT_FLAG_6F
db EVENT_FLAG_70
-Func_d244: ; d244 (3:5244)
+ScriptCommand_ReplaceMapBlocks: ; d244 (3:5244)
ld a, c
farcall Func_80ba4
jp IncreaseScriptPointerBy2
@@ -3007,15 +3007,15 @@ ScriptCommand_EnterMap: ; d36d (3:536d)
set 4, [hl]
jp IncreaseScriptPointerBy6
-Func_d38f: ; d38f (3:538f)
+ScriptCommand_FlashScreen: ; d38f (3:538f)
farcall Func_10c96
jp IncreaseScriptPointerBy2
-Func_d396: ; d396 (3:5396)
+ScriptCommand_SaveGame: ; d396 (3:5396)
farcall Func_1157c
jp IncreaseScriptPointerBy2
-Func_d39d: ; d39d (3:539d)
+ScriptCommand_GiftCenter: ; d39d (3:539d)
ld a, c
or a
jr nz, .asm_d3ac
@@ -3033,7 +3033,7 @@ Func_d39d: ; d39d (3:539d)
.asm_d3b6
jp IncreaseScriptPointerBy2
-Func_d3b9: ; d3b9 (3:53b9)
+ScriptCommand_PlayCredits: ; d3b9 (3:53b9)
call Func_3917
ld a, GAME_EVENT_CREDITS
ld [wGameEvent], a
@@ -3049,14 +3049,14 @@ ScriptCommand_TryGivePCPack: ; d3c9 (3:53c9)
ScriptCommand_nop: ; d3d1 (3:53d1)
jp IncreaseScriptPointerBy1
-Func_d3d4: ; d3d4 (3:53d4)
+ScriptCommand_GiveStarterDeck: ; d3d4 (3:53d4)
ld a, [wd693]
bank1call Func_7576
jp IncreaseScriptPointerBy1
INCROM $d3dd, $d3e0
-Func_d3e0: ; d3e0 (3:53e0)
+ScriptCommand_WalkPlayerToMasonLaboratory: ; d3e0 (3:53e0)
ld a, $1
ld [wd32e], a
farcall Func_11024
@@ -3069,13 +3069,13 @@ Func_d3e0: ; d3e0 (3:53e0)
farcall Func_10f2e
jp IncreaseScriptPointerBy1
-Func_d3fe: ; d3fe (3:53fe)
+ScriptCommand_OverrideSong: ; d3fe (3:53fe)
ld a, c
ld [wd112], a
call PlaySong
jp IncreaseScriptPointerBy2
-Func_d408: ; d408 (3:5408)
+ScriptCommand_SetDefaultSong: ; d408 (3:5408)
ld a, c
ld [wd111], a
jp IncreaseScriptPointerBy2
@@ -3090,7 +3090,7 @@ ScriptCommand_PlaySFX: ; d416 (3:5416)
call PlaySFX
jp IncreaseScriptPointerBy2
-Func_d41d: ; d41d (3:541d)
+ScriptCommand_PlayDefaultSong: ; d41d (3:541d)
call Func_39fc
jp IncreaseScriptPointerBy1
@@ -3106,12 +3106,12 @@ ScriptCommand_WaitForSongToFinish: ; d42f (3:542f)
call WaitForSongToFinish
jp IncreaseScriptPointerBy1
-Func_d435: ; d435 (3:5435)
+ScriptCommand_RecordMasterWin: ; d435 (3:5435)
ld a, c
farcall Func_1c83d
jp IncreaseScriptPointerBy2
-Func_d43d: ; d43d (3:543d)
+ScriptCommand_ChallengeMachine: ; d43d (3:543d)
ld a, GAME_EVENT_CHALLENGE_MACHINE
ld [wGameEvent], a
ld hl, wd0b4
@@ -3275,7 +3275,7 @@ Func_d4fb: ; d4fb (3:54fb)
Script_BeginGame: ; d52e (3:552e)
start_script
do_frames 60
- run_command Func_d3e0
+ walk_player_to_mason_lab
do_frames 120
enter_map $02, MASON_LABORATORY, 14, 26, NORTH
quit_script_fully
@@ -3325,9 +3325,8 @@ ChallengeMachineObjectTable: ; d572 (3:5572)
Script_ChallengeMachine: ; d57d (3:557d)
start_script
- run_command Func_ccdc
- tx ItsTheChallengeMachineText
- run_command Func_d43d
+ print_text ItsTheChallengeMachineText
+ challenge_machine
quit_script_fully
Script_Tech1: ; d583 (3:5583)
@@ -3571,8 +3570,7 @@ Script_EnterLabFirstTime: ; d753 (3:5753)
print_npc_text Text05e5
close_text_box
move_active_npc NPCMovement_d882
- run_command Func_cfc6
- db $01
+ set_active_npc_direction EAST
set_player_direction WEST
close_advanced_text_box
set_next_npc_and_script NPC_DRMASON, .ows_d794
@@ -3677,8 +3675,7 @@ Script_AfterPracticeDuel: ; d834 (3:5834)
set_player_direction NORTH
print_npc_text Text05f0
close_text_box
- run_command Func_ccdc
- tx Text05f1
+ print_text Text05f1
close_text_box
print_npc_text Text05f2
.ows_d85f
@@ -3691,16 +3688,14 @@ Script_AfterPracticeDuel: ; d834 (3:5834)
close_text_box
pause_song
play_song MUSIC_BOOSTER_PACK
- run_command Func_ccdc
- tx Text05f5
+ print_text Text05f5
wait_for_song_to_finish
resume_song
close_text_box
script_set_flag_value EVENT_FLAG_3E, $03
- run_command Func_d3d4
+ give_stater_deck
print_npc_text Text05f6
- run_command Func_d396
- db $00
+ save_game $00
quit_script_fully
NPCMovement_d880: ; d880 (3:5880)
@@ -3785,8 +3780,7 @@ Script_LostToAaron: ; d92e (3:592e)
Script_d932: ; d932 (3:5932)
start_script
- run_command Func_ccdc
- tx Text0605
+ print_text Text0605
ask_question_jump_default_yes Text0606, .ows_d93c
quit_script_fully
@@ -3947,8 +3941,7 @@ Script_Ishihara: ; db4a (3:5b4a)
script_set_flag_value EVENT_FLAG_1F, $03
zero_out_flag_value EVENT_FLAG_38
print_npc_text Text072f
- run_command Func_ccdc
- tx Text0730
+ print_text Text0730
take_card CLEFABLE
give_card SURFING_PIKACHU1
show_card_received_screen SURFING_PIKACHU1
@@ -3974,8 +3967,7 @@ Script_Ishihara: ; db4a (3:5b4a)
script_set_flag_value EVENT_FLAG_1F, $05
zero_out_flag_value EVENT_FLAG_38
print_npc_text Text072f
- run_command Func_ccdc
- tx Text0736
+ print_text Text0736
take_card DITTO
give_card FLYING_PIKACHU
show_card_received_screen FLYING_PIKACHU
@@ -4001,8 +3993,7 @@ Script_Ishihara: ; db4a (3:5b4a)
script_set_flag_value EVENT_FLAG_1F, $07
zero_out_flag_value EVENT_FLAG_38
print_npc_text Text072f
- run_command Func_ccdc
- tx Text073c
+ print_text Text073c
take_card CHANSEY
give_card SURFING_PIKACHU2
show_card_received_screen SURFING_PIKACHU2
@@ -4112,11 +4103,10 @@ Script_LostToImakuni: ; dd5c (3:5d5c)
.ows_dd6e
move_active_npc NPCMovement_dd78
- run_command Func_cdcb
+ unload_active_npc
max_out_flag_value EVENT_TEMP_DUELED_IMAKUNI
- run_command Func_d408
- db $09
- run_command Func_d41d
+ set_default_song MUSIC_OVERWORLD
+ play_default_song
quit_script_fully
NPCMovement_dd78: ; dd78 (3:5d78)
@@ -4204,10 +4194,8 @@ Script_BeatMitch: ; ddff (3:5dff)
print_npc_text Text047f
max_out_flag_value EVENT_FLAG_0F
try_give_medal_pc_packs
- run_command Func_d125
- db $0f
- run_command Func_d435
- db $01
+ show_medal_received_screen EVENT_FLAG_0F
+ record_master_win $01
print_npc_text Text0480
give_booster_packs BOOSTER_LABORATORY_NEUTRAL, BOOSTER_LABORATORY_NEUTRAL, NO_BOOSTER
print_npc_text Text0481
@@ -4422,8 +4410,7 @@ Script_Gal1: ; e0cf (3:60cf)
.ows_e0fb
script_set_flag_value EVENT_FLAG_12, $02
print_npc_text Gal1LetsTradeText
- run_command Func_ccdc
- tx Gal1TradeCompleteText
+ print_text Gal1TradeCompleteText
take_card LAPRAS
give_card ARCANINE1
show_card_received_screen ARCANINE1
@@ -4666,8 +4653,7 @@ Script_BeatJoshua: ; e26c (3:626c)
close_text_box
move_active_npc_by_direction NPCMovementTable_e2a1
print_npc_text Text044a
- run_command Func_cfc6
- db $00
+ set_active_npc_direction NORTH
close_advanced_text_box
set_next_npc_and_script NPC_AMY, Script_MeetAmy
end_script
@@ -4715,18 +4701,10 @@ Script_MeetAmy: ; e2d1 (3:62d1)
set_dialog_npc NPC_AMY
print_npc_text Text044d
close_text_box
- run_command Func_d095
- db $09
- db $2f
- db $10
+ set_sprite_attributes $09, $2f, $10
do_frames $20
- run_command Func_d095
- db $04
- db $0e
- db $00
- run_command Func_d0be
- db $14
- db $04
+ set_sprite_attributes $04, $0e, $00
+ set_active_npc_coords $14, $04
set_player_direction WEST
move_player WEST, 1
set_player_direction NORTH
@@ -4745,10 +4723,7 @@ Script_Amy: ; e304 (3:6304)
.deny_duel
print_npc_text Text0451
- run_command Func_d0d9
- db $14
- db $04
- dw Script_LostToAmy.ows_e34e
+ jump_if_active_npc_coords_match $14, $04, Script_LostToAmy.ows_e34e
quit_script_fully
.start_duel
@@ -4763,37 +4738,24 @@ Script_BeatAmy: ; e322 (3:6322)
print_npc_text Text0454
max_out_flag_value EVENT_BEAT_AMY
try_give_medal_pc_packs
- run_command Func_d125
- db EVENT_BEAT_AMY
- run_command Func_d435
- db $03
+ 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
- run_command Func_d0d9
- db $14
- db $04
- dw Script_LostToAmy.ows_e34e
+ jump_if_active_npc_coords_match $14, $04, Script_LostToAmy.ows_e34e
quit_script_fully
Script_LostToAmy: ; e344 (3:6344)
start_script
print_npc_text Text0457
- run_command Func_d0d9
- db $14
- db $04
- dw .ows_e34e
+ jump_if_active_npc_coords_match $14, $04, .ows_e34e
quit_script_fully
.ows_e34e
- run_command Func_d095
- db $08
- db $2e
- db $10
- run_command Func_d0be
- db $16
- db $04
+ set_sprite_attributes $08, $2e, $10
+ set_active_npc_coords $16, $04
quit_script_fully
Script_Amy_AlreadyHaveMedal: ; e356 (3:6356)
@@ -5038,8 +5000,7 @@ Script_Lass2: ; e61f (3:661f)
max_out_flag_value EVENT_FLAG_04
script_set_flag_value EVENT_FLAG_37, $02
print_npc_text Text06f1
- run_command Func_ccdc
- tx Text06f2
+ print_text Text06f2
take_card ODDISH
give_card VILEPLUME
show_card_received_screen VILEPLUME
@@ -5064,8 +5025,7 @@ Script_Lass2: ; e61f (3:661f)
max_out_flag_value EVENT_FLAG_04
script_set_flag_value EVENT_FLAG_37, $04
print_npc_text Text06f9
- run_command Func_ccdc
- tx Text06fa
+ print_text Text06fa
take_card CLEFAIRY
give_card PIKACHU3
show_card_received_screen PIKACHU3
@@ -5090,8 +5050,7 @@ Script_Lass2: ; e61f (3:661f)
max_out_flag_value EVENT_FLAG_04
script_set_flag_value EVENT_FLAG_37, $06
print_npc_text Text0700
- run_command Func_ccdc
- tx Text0701
+ print_text Text0701
take_card CHARIZARD
give_card BLASTOISE
show_card_received_screen BLASTOISE
@@ -5230,8 +5189,7 @@ Script_FirstRonaldEncounter: ; e862 (3:6862)
start_script
max_out_flag_value EVENT_FLAG_4B
move_active_npc NPCMovement_e894
- run_command Func_d135
- db $00
+ load_current_map_name_into_txram_slot $00
print_npc_text Text0645
close_text_box
move_player NORTH, 1
@@ -5249,8 +5207,8 @@ Script_FirstRonaldEncounter: ; e862 (3:6862)
set_player_direction WEST
move_player EAST, 4
move_active_npc NPCMovement_e894
- run_command Func_cdcb
- run_command Func_d41d
+ unload_active_npc
+ play_default_song
quit_script_fully
NPCMovement_e894: ; e894 (3:6894)
@@ -5297,8 +5255,8 @@ Script_LostToFirstRonaldFight: ; e8f7 (3:68f7)
script_set_flag_value EVENT_FLAG_4C, $02
close_text_box
move_active_npc NPCMovement_e90f
- run_command Func_cdcb
- run_command Func_d41d
+ unload_active_npc
+ play_default_song
quit_script_fully
NPCMovement_e905: ; e905 (3:6905)
@@ -5359,8 +5317,8 @@ Script_LostToSecondRonaldFight: ; e955 (3:6955)
script_set_flag_value EVENT_FLAG_4D, $02
close_text_box
move_active_npc NPCMovement_e90f
- run_command Func_cdcb
- run_command Func_d41d
+ unload_active_npc
+ play_default_song
quit_script_fully
PsychicClubLobbyAfterDuel: ; e963 (3:6963)
@@ -5661,8 +5619,7 @@ Script_ee76: ; ee76 (3:6e76)
.ows_ee7d
script_set_flag_value EVENT_FLAG_21, $02
- run_command Func_ccdc
- tx FoundLv9SlowpokeText
+ print_text FoundLv9SlowpokeText
give_card SLOWPOKE1
show_card_received_screen SLOWPOKE1
quit_script_fully
@@ -5753,10 +5710,8 @@ Script_BeatKen: ; ef5e (3:6f5e)
jump_if_flag_nonzero_2 EVENT_FLAG_0A, .give_booster_packs
max_out_flag_value EVENT_FLAG_0A
try_give_medal_pc_packs
- run_command Func_d125
- db $0a
- run_command Func_d435
- db $08
+ show_medal_received_screen EVENT_FLAG_0A
+ record_master_win $08
print_npc_text Text06c2
.give_booster_packs
give_booster_packs BOOSTER_MYSTERY_NEUTRAL, BOOSTER_MYSTERY_NEUTRAL, NO_BOOSTER
@@ -6191,8 +6146,7 @@ Script_f353: ; f353 (3:7353)
move_active_npc NPCMovement_f37d
do_frames 20
move_active_npc NPCMovement_f390
- run_command Func_d16b
- db $00
+ load_active_npc_name_into_txram_slot $00
print_npc_text Text0532
close_text_box
move_active_npc NPCMovement_f37f
@@ -6203,10 +6157,7 @@ Script_f353: ; f353 (3:7353)
close_text_box
move_active_npc NPCMovement_f38e
print_npc_text Text0535
- run_command Func_cd4f
- db $04
- db $00
- db $00
+ start_challenge_hall_duel PRIZES_4, SAMS_PRACTICE_DECK_ID, MUSIC_STOP
quit_script_fully
NPCMovement_f37d: ; f37d (3:737d)
@@ -6254,10 +6205,8 @@ Script_LostAtChallengeHall: ; f392 (3:7392)
move_active_npc NPCMovement_f390
jump_if_flag_equal EVENT_FLAG_45, $02, Script_f410
jump_if_flag_equal EVENT_FLAG_45, $03, Script_f410.ows_f41a
- run_command Func_d16b
- db $00
- run_command Func_d16b
- db $01
+ load_active_npc_name_into_txram_slot $00
+ load_active_npc_name_into_txram_slot $01
print_npc_text Text0536
.ows_f3ae
close_text_box
@@ -6312,10 +6261,8 @@ NPCMovement_f40d: ; f40d (3:740d)
db $ff
Script_f410: ; f410 (4:7410)
- run_command Func_d16b
- db $00
- run_command Func_d16b
- db $01
+ load_active_npc_name_into_txram_slot $00
+ load_active_npc_name_into_txram_slot $01
print_npc_text Text0538
script_jump Script_LostAtChallengeHall.ows_f3ae
@@ -6349,21 +6296,17 @@ Script_WonAtChallengeHall: ; f441 (3:7441)
jump_if_flag_equal EVENT_FLAG_45, $01, NULL
print_variable_npc_text Text053c, Text053d
move_active_npc NPCMovement_f37f
- run_command Func_d16b
- db $00
+ load_active_npc_name_into_txram_slot $00
print_npc_text Text053e
close_text_box
move_wram_npc NPCMovement_f4c8
- run_command Func_cdd8
+ unload_challenge_hall_npc
print_npc_text Text053f
close_text_box
- run_command Func_d195
- run_command Func_cdf5
- db $14
- db $14
+ pick_challenge_hall_opponent
+ set_challenge_hall_npc_coords $14, $14
move_wram_npc NPCMovement_f4d0
- run_command Func_d16b
- db $00
+ load_active_npc_name_into_txram_slot $00
jump_if_flag_equal EVENT_FLAG_45, $02, NULL
print_variable_npc_text Text0540, Text0541
move_active_npc NPCMovement_f383
@@ -6383,16 +6326,13 @@ Script_WonAtChallengeHall: ; f441 (3:7441)
ask_question_jump_default_yes Text0546, .ows_f4bd
jump_if_flag_equal EVENT_FLAG_45, $02, NULL
print_variable_npc_text Text0547, Text0548
- run_command Func_cd4f
- db $04
- db $00
- db $00
+ 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_flag_value EVENT_FLAG_47
- run_command Func_d1ad
+ open_menu
close_text_box
script_jump .ows_f4a4
@@ -6425,8 +6365,7 @@ NPCMovement_f4d8: ; f4d8 (3:74d8)
Script_f4db: ; f4db (3:74db)
print_npc_text Text054a
move_active_npc NPCMovement_f37f
- run_command Func_d16b
- db $00
+ load_active_npc_name_into_txram_slot $00
print_npc_text Text054b
close_text_box
jump_if_flag_equal EVENT_FLAG_44, $03, .ows_f513
@@ -6445,12 +6384,12 @@ Script_f4db: ; f4db (3:74db)
.ows_f513
move_wram_npc NPCMovement_f4c8
.ows_f516
- run_command Func_cdd8
+ unload_challenge_hall_npc
move_active_npc NPCMovement_f383
print_npc_text Text0550
close_text_box
move_active_npc NPCMovement_f38b
- run_command Func_d1b3
+ pick_challenge_cup_prize_card
print_npc_text Text0551
give_card VARIABLE_CARD
show_card_received_screen $00
@@ -6715,42 +6654,33 @@ Script_fbf1: ; fbf1 (3:7bf1)
start_script
jump_if_flag_nonzero_2 EVENT_RECEIVED_LEGENDARY_CARD, .ows_fc10
max_out_flag_value EVENT_RECEIVED_LEGENDARY_CARD
- run_command Func_ccdc
- tx Text05b8
+ print_text Text05b8
give_card ZAPDOS3
give_card MOLTRES2
give_card ARTICUNO2
give_card DRAGONITE1
show_card_received_screen $ff
.ows_fc05
- run_command Func_d38f
- db $00
- run_command Func_ccdc
- tx Text05b9
+ flash_screen $00
+ print_text Text05b9
.ows_fc0a
- run_command Func_d38f
- db $01
- run_command Func_d396
- db $01
- run_command Func_d3b9
+ flash_screen $01
+ save_game $01
+ play_credits
quit_script_fully
.ows_fc10
jump_if_flag_equal EVENT_FLAG_71, $0f, .ows_fc20
- run_command Func_d209
- run_command Func_ccdc
- tx Text05ba
+ pick_legendary_card
+ print_text Text05ba
give_card VARIABLE_CARD
show_card_received_screen VARIABLE_CARD
script_jump .ows_fc05
.ows_fc20
- run_command Func_ccdc
- tx Text05bb
- run_command Func_d38f
- db $00
- run_command Func_ccdc
- tx Text05bc
+ print_text Text05bb
+ flash_screen $00
+ print_text Text05bc
script_jump .ows_fc0a
Func_fc2b: ; fc2b (3:7c2b)
@@ -6785,7 +6715,7 @@ Script_fc52: ; fc52 (3:7c52)
print_text_quit_fully Text06c9
.ows_fc5e
- run_command Func_cd76
+ battle_center
quit_script_fully
Script_fc60: ; fc60 (3:7c60)
@@ -6820,8 +6750,7 @@ Func_fc7a: ; fc7a (3:7c7a)
start_script
jump_if_flag_not_equal EVENT_FLAG_74, $02, Func_fcad.ows_fcd5
print_npc_text Text06cd
- run_command Func_d39d
- db $00
+ gift_center $00
jump_if_flag_not_less_than EVENT_FLAG_72, $04, Func_fc7a.ows_fcaa
print_npc_text Text06ce
ask_question_jump_default_yes Text06cf, .ows_fca0
@@ -6829,13 +6758,10 @@ Func_fc7a: ; fc7a (3:7c7a)
script_jump Func_fc7a.ows_fcaa
.ows_fca0
- run_command Func_d396
- db $00
+ save_game $00
play_sfx SFX_56
- run_command Func_ccdc
- tx Text06d1
- run_command Func_d39d
- db $01
+ print_text Text06d1
+ gift_center $01
quit_script_fully
.ows_fcaa
@@ -6848,8 +6774,7 @@ Func_fcad: ; fcad (3:7cad)
start_script
play_sfx SFX_56
- run_command Func_d396
- db $00
+ save_game $00
jump_if_flag_equal EVENT_FLAG_72, $00, .ows_fccc
jump_if_flag_equal EVENT_FLAG_72, $02, .ows_fccf
jump_if_flag_equal EVENT_FLAG_72, $03, .ows_fcd2
diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm
index 143d37d..04e1e85 100644
--- a/src/engine/bank04.asm
+++ b/src/engine/bank04.asm
@@ -1008,13 +1008,13 @@ OverworldScriptTable: ; 1217b (4:617b)
dw ScriptCommand_EndScript
dw ScriptCommand_CloseAdvancedTextBox
dw ScriptCommand_PrintNPCText
- dw Func_ccdc
+ dw ScriptCommand_PrintText
dw ScriptCommand_AskQuestionJump
dw ScriptCommand_StartDuel
dw ScriptCommand_PrintVariableNPCText
- dw Func_cda8
+ dw ScriptCommand_PrintVariableText
dw ScriptCommand_PrintTextQuitFully
- dw Func_cdcb
+ dw ScriptCommand_UnloadActiveNPC
dw ScriptCommand_MoveActiveNPCByDirection
dw ScriptCommand_CloseTextBox
dw ScriptCommand_GiveBoosterPacks
@@ -1022,16 +1022,16 @@ OverworldScriptTable: ; 1217b (4:617b)
dw ScriptCommand_JumpIfCardInCollection
dw ScriptCommand_GiveCard
dw ScriptCommand_TakeCard
- dw Func_cf53
- dw Func_cf7b
+ dw ScriptCommand_JumpIfAnyEnergyCardsInCollection
+ dw ScriptCommand_RemoveAllEnergyCardsFromCollection
dw ScriptCommand_JumpIfEnoughCardsOwned
dw ScriptCommand_JumpBasedOnFightingClubPupilStatus
- dw Func_cfc6
- dw Func_cfd4
- dw Func_d00b
- dw Func_d025
- dw Func_d032
- dw Func_d03f
+ dw ScriptCommand_SetActiveNPCDirection
+ dw ScriptCommand_PickNextMan1RequestedCard
+ dw ScriptCommand_GetMan1RequestedCardNameText
+ dw ScriptCommand_JumpIfMan1RequestedCardOwned
+ dw ScriptCommand_JumpIfMan1RequestedCardInCollection
+ dw ScriptCommand_RemoveMan1RequestedCardFromCollection
dw ScriptCommand_Jump
dw ScriptCommand_TryGiveMedalPCPacks
dw ScriptCommand_SetPlayerDirection
@@ -1039,55 +1039,55 @@ OverworldScriptTable: ; 1217b (4:617b)
dw ScriptCommand_ShowCardReceivedScreen
dw ScriptCommand_SetDialogNPC
dw ScriptCommand_SetNextNPCAndScript
- dw Func_d095
- dw Func_d0be
+ dw ScriptCommand_SetSpriteAttributes
+ dw ScriptCommand_SetActiveNPCCoords
dw ScriptCommand_DoFrames
- dw Func_d0d9
+ dw ScriptCommand_JumpIfActiveNPCCoordsMatch
dw ScriptCommand_JumpIfPlayerCoordsMatch
dw ScriptCommand_MoveActiveNPC
dw ScriptCommand_GiveOneOfEachTrainerBooster
- dw Func_d103
- dw Func_d125
- dw Func_d135
- dw Func_d16b
- dw Func_cd4f
- dw Func_cd94
+ dw ScriptCommand_JumpIfNPCLoaded
+ dw ScriptCommand_ShowMedalReceivedScreen
+ dw ScriptCommand_LoadCurrentMapNameIntoTxRamSlot
+ dw ScriptCommand_LoadActiveNPCNameIntoTxRamSlot
+ dw ScriptCommand_StartChallengeHallDuel
+ dw ScriptCommand_PrintTextForChallengeCup
dw ScriptCommand_MoveWramNPC
- dw Func_cdd8
- dw Func_cdf5
- dw Func_d195
- dw Func_d1ad
- dw Func_d1b3
+ dw ScriptCommand_UnloadChallengeHallNPC
+ dw ScriptCommand_SetChallengeHallNPCCoords
+ dw ScriptCommand_PickChallengeHallOpponent
+ dw ScriptCommand_OpenMenu
+ dw ScriptCommand_PickChallengeCupPrizeCard
dw ScriptCommand_QuitScriptFully
- dw Func_d244
+ dw ScriptCommand_ReplaceMapBlocks
dw ScriptCommand_ChooseDeckToDuelAgainstMultichoice
dw ScriptCommand_OpenDeckMachine
dw ScriptCommand_ChooseStarterDeckMultichoice
dw ScriptCommand_EnterMap
dw ScriptCommand_MoveArbitraryNPC
- dw Func_d209
- dw Func_d38f
- dw Func_d396
- dw Func_cd76
- dw Func_d39d
- dw Func_d3b9
+ dw ScriptCommand_PickLegendaryCard
+ dw ScriptCommand_FlashScreen
+ dw ScriptCommand_SaveGame
+ dw ScriptCommand_BattleCenter
+ dw ScriptCommand_GiftCenter
+ dw ScriptCommand_PlayCredits
dw ScriptCommand_TryGivePCPack
dw ScriptCommand_nop
- dw Func_d3d4
- dw Func_d3e0
- dw Func_d3fe
- dw Func_d408
+ dw ScriptCommand_GiveStarterDeck
+ dw ScriptCommand_WalkPlayerToMasonLaboratory
+ dw ScriptCommand_OverrideSong
+ dw ScriptCommand_SetDefaultSong
dw ScriptCommand_PlaySong
dw ScriptCommand_PlaySFX
dw ScriptCommand_PauseSong
dw ScriptCommand_ResumeSong
- dw Func_d41d
+ dw ScriptCommand_PlayDefaultSong
dw ScriptCommand_WaitForSongToFinish
- dw Func_d435
+ dw ScriptCommand_RecordMasterWin
dw ScriptCommand_AskQuestionJumpDefaultYes
dw ScriptCommand_ShowSamNormalMultichoice
dw ScriptCommand_ShowSamTutorialMultichoice
- dw Func_d43d
+ dw ScriptCommand_ChallengeMachine
dw ScriptCommand_EndScript
dw ScriptCommand_EndScript
dw ScriptCommand_EndScript
diff --git a/src/macros/scripts.asm b/src/macros/scripts.asm
index 961c240..91ca3bb 100644
--- a/src/macros/scripts.asm
+++ b/src/macros/scripts.asm
@@ -8,13 +8,13 @@ ENDM
const ScriptCommand_EndScript_index ; $00
const ScriptCommand_CloseAdvancedTextBox_index ; $01
const ScriptCommand_PrintNPCText_index ; $02
- const Func_ccdc_index ; $03
+ const ScriptCommand_PrintText_index ; $03
const ScriptCommand_AskQuestionJump_index ; $04
const ScriptCommand_StartDuel_index ; $05
const ScriptCommand_PrintVariableNPCText_index ; $06
- const Func_cda8_index ; $07
+ const ScriptCommand_PrintVariableText_index ; $07
const ScriptCommand_PrintTextQuitFully_index ; $08
- const Func_cdcb_index ; $09
+ const ScriptCommand_UnloadActiveNPC_index ; $09
const ScriptCommand_MoveActiveNPCByDirection_index ; $0a
const ScriptCommand_CloseTextBox_index ; $0b
const ScriptCommand_GiveBoosterPacks_index ; $0c
@@ -22,16 +22,16 @@ ENDM
const ScriptCommand_JumpIfCardInCollection_index ; $0e
const ScriptCommand_GiveCard_index ; $0f
const ScriptCommand_TakeCard_index ; $10
- const Func_cf53_index ; $11
- const Func_cf7b_index ; $12
+ const ScriptCommand_JumpIfAnyEnergyCardsInCollection_index ; $11
+ const ScriptCommand_RemoveAllEnergyCardsFromCollection_index ; $12
const ScriptCommand_JumpIfEnoughCardsOwned_index ; $13
const ScriptCommand_JumpBasedOnFightingClubPupilStatus_index ; $14
- const Func_cfc6_index ; $15
- const Func_cfd4_index ; $16
- const Func_d00b_index ; $17
- const Func_d025_index ; $18
- const Func_d032_index ; $19
- const Func_d03f_index ; $1a
+ const ScriptCommand_SetActiveNPCDirection_index ; $15
+ const ScriptCommand_PickNextMan1RequestedCard_index ; $16
+ const ScriptCommand_GetMan1RequestedCardNameText_index ; $17
+ const ScriptCommand_JumpIfMan1RequestedCardOwned_index ; $18
+ const ScriptCommand_JumpIfMan1RequestedCardInCollection_index ; $19
+ const ScriptCommand_RemoveMan1RequestedCardFromCollection_index ; $1a
const ScriptCommand_Jump_index ; $1b
const ScriptCommand_TryGiveMedalPCPacks_index ; $1c
const ScriptCommand_SetPlayerDirection_index ; $1d
@@ -39,55 +39,55 @@ ENDM
const ScriptCommand_ShowCardReceivedScreen_index ; $1f
const ScriptCommand_SetDialogNPC_index ; $20
const ScriptCommand_SetNextNPCAndScript_index ; $21
- const Func_d095_index ; $22
- const Func_d0be_index ; $23
+ const ScriptCommand_SetSpriteAttributes_index ; $22
+ const ScriptCommand_SetActiveNPCCoords_index ; $23
const ScriptCommand_DoFrames_index ; $24
- const Func_d0d9_index ; $25
+ const ScriptCommand_JumpIfActiveNPCCoordsMatch_index ; $25
const ScriptCommand_JumpIfPlayerCoordsMatch_index ; $26
const ScriptCommand_MoveActiveNPC_index ; $27
const ScriptCommand_GiveOneOfEachTrainerBooster_index ; $28
- const Func_d103_index ; $29
- const Func_d125_index ; $2a
- const Func_d135_index ; $2b
- const Func_d16b_index ; $2c
- const Func_cd4f_index ; $2d
- const Func_cd94_index ; $2e
+ const ScriptCommand_JumpIfNPCLoaded_index ; $29
+ const ScriptCommand_ShowMedalReceivedScreen_index ; $2a
+ const ScriptCommand_LoadCurrentMapNameIntoTxRamSlot_index ; $2b
+ const ScriptCommand_LoadActiveNPCNameIntoTxRamSlot_index ; $2c
+ const ScriptCommand_StartChallengeHallDuel_index ; $2d
+ const ScriptCommand_PrintTextForChallengeCup_index ; $2e
const ScriptCommand_MoveWramNPC_index ; $2f
- const Func_cdd8_index ; $30
- const Func_cdf5_index ; $31
- const Func_d195_index ; $32
- const Func_d1ad_index ; $33
- const Func_d1b3_index ; $34
+ const ScriptCommand_UnloadChallengeHallNPC_index ; $30
+ const ScriptCommand_SetChallengeHallNPCCoords_index ; $31
+ const ScriptCommand_PickChallengeHallOpponent_index ; $32
+ const ScriptCommand_OpenMenu_index ; $33
+ const ScriptCommand_PickChallengeCupPrizeCard_index ; $34
const ScriptCommand_QuitScriptFully_index ; $35
- const Func_d244_index ; $36
+ const ScriptCommand_ReplaceMapBlocks_index ; $36
const ScriptCommand_ChooseDeckToDuelAgainstMultichoice_index ; $37
const ScriptCommand_OpenDeckMachine_index ; $38
const ScriptCommand_ChooseStarterDeckMultichoice_index ; $39
const ScriptCommand_EnterMap_index ; $3a
const ScriptCommand_MoveArbitraryNPC_index ; $3b
- const Func_d209_index ; $3c
- const Func_d38f_index ; $3d
- const Func_d396_index ; $3e
- const Func_cd76_index ; $3f
- const Func_d39d_index ; $40
- const Func_d3b9_index ; $41
+ const ScriptCommand_PickLegendaryCard_index ; $3c
+ const ScriptCommand_FlashScreen_index ; $3d
+ const ScriptCommand_SaveGame_index ; $3e
+ const ScriptCommand_BattleCenter_index ; $3f
+ const ScriptCommand_GiftCenter_index ; $40
+ const ScriptCommand_PlayCredits_index ; $41
const ScriptCommand_TryGivePCPack_index ; $42
const ScriptCommand_nop_index ; $43
- const Func_d3d4_index ; $44
- const Func_d3e0_index ; $45
- const Func_d3fe_index ; $46
- const Func_d408_index ; $47
+ const ScriptCommand_GiveStarterDeck_index ; $44
+ const ScriptCommand_WalkPlayerToMasonLaboratory_index ; $45
+ const ScriptCommand_OverrideSong_index ; $46
+ const ScriptCommand_SetDefaultSong_index ; $47
const ScriptCommand_PlaySong_index ; $48
const ScriptCommand_PlaySFX_index ; $49
const ScriptCommand_PauseSong_index ; $4a
const ScriptCommand_ResumeSong_index ; $4b
- const Func_d41d_index ; $4c
+ const ScriptCommand_PlayDefaultSong_index ; $4c
const ScriptCommand_WaitForSongToFinish_index ; $4d
- const Func_d435_index ; $4e
+ const ScriptCommand_RecordMasterWin_index ; $4e
const ScriptCommand_AskQuestionJumpDefaultYes_index ; $4f
const ScriptCommand_ShowSamNormalMultichoice_index ; $50
const ScriptCommand_ShowSamTutorialMultichoice_index ; $51
- const Func_d43d_index ; $52
+ const ScriptCommand_ChallengeMachine_index ; $52
const ScriptCommand_EndScript2_index ; $53
const ScriptCommand_EndScript3_index ; $54
const ScriptCommand_EndScript4_index ; $55
@@ -128,6 +128,12 @@ print_npc_text: MACRO
tx \1 ; Text Pointer
ENDM
+; Opens a new dialog window and displays the given text
+print_text: MACRO
+ run_command ScriptCommand_PrintText
+ tx \1 ; Text Pointer
+ENDM
+
; Displays text and allows players to choose yes or no. Will jump on yes.
; if first argument is 0000 (NULL), will overwrite last text with yes/no.
ask_question_jump: MACRO
@@ -148,19 +154,31 @@ start_duel: MACRO
db \3 ; Duel Music (ex MUSIC_DUEL_THEME_1)
ENDM
-; Prints the first or second text depending on if wScriptControlByte is nonzero or zero respectively
+; Prints the first or second npc text depending on if wScriptControlByte is nonzero or zero respectively
print_variable_npc_text: MACRO
run_command ScriptCommand_PrintVariableNPCText
tx \1 ; Text Pointer
tx \2 ; Text Pointer
ENDM
+; Prints the first or second text depending on if wScriptControlByte is nonzero or zero respectively
+print_variable_text: MACRO
+ run_command ScriptCommand_PrintVariableText
+ tx \1 ; Text Pointer
+ tx \2 ; Text Pointer
+ENDM
+
; Displays text then fully quits out of scripting system (Does NOT return to RST20)
print_text_quit_fully: MACRO
run_command ScriptCommand_PrintTextQuitFully
tx \1 ; Text Pointer
ENDM
+; Removes the current NPC from the map
+unload_active_npc: MACRO
+ run_command ScriptCommand_UnloadActiveNPC
+ENDM
+
; Moves the current NPC depending on their current direction
; Argument points to a table of 4 NPCMovements chosen based on direction value
move_active_npc_by_direction: MACRO
@@ -208,6 +226,17 @@ take_card: MACRO
db \1 ; card ID (ex LAPRAS)
ENDM
+; Jumps to a given script position if the player has any energy cards in their collection
+jump_if_any_energy_cards_in_collection: MACRO
+ run_command ScriptCommand_JumpIfAnyEnergyCardsInCollection
+ dw \1 ; script label
+ENDM
+
+; Removes all of the player's energy cards from their collection
+remove_all_energy_cards_from_collection: MACRO
+ run_command ScriptCommand_RemoveAllEnergyCardsFromCollection
+ENDM
+
; Jumps to a given script position if the player owns enough cards
jump_if_enough_cards_owned: MACRO
run_command ScriptCommand_JumpIfEnoughCardsOwned
@@ -225,6 +254,39 @@ fight_club_pupil_jump: MACRO
dw \5 ; Script Label (All Pupils Defeated)
ENDM
+; Causes the active NPC to face the specified direction
+set_active_npc_direction: MACRO
+ run_command ScriptCommand_SetActiveNPCDirection
+ db \1 ; Direction (ex NORTH)
+ENDM
+
+; Picks the next card gift that will be requested by NPC_MAN1
+pick_next_man1_requested_card: MACRO
+ run_command ScriptCommand_PickNextMan1RequestedCard
+ENDM
+
+; Loads the name text for the card gift requested by NPC_MAN1
+get_man1_requested_card_name_text: MACRO
+ run_command ScriptCommand_GetMan1RequestedCardNameText
+ENDM
+
+; Jumps to the given script position if the player owns the card gift requested by NPC_MAN1
+jump_if_man1_requested_card_owned: MACRO
+ run_command ScriptCommand_JumpIfMan1RequestedCardOwned
+ dw \1 ; Script Label
+ENDM
+
+; Jumps to the given script position if the player's collection contains the card gift requested by NPC_MAN1
+jump_if_man1_requested_card_in_collection: MACRO
+ run_command ScriptCommand_JumpIfMan1RequestedCardInCollection
+ dw \1 ; Script Label
+ENDM
+
+; Removes from the player's collection the card gift requested by NPC_MAN1
+remove_man1_requested_card_from_collection: MACRO
+ run_command ScriptCommand_RemoveMan1RequestedCardFromCollection
+ENDM
+
; Jumps to a given script position
script_jump: MACRO
run_command ScriptCommand_Jump
@@ -268,12 +330,35 @@ set_next_npc_and_script: MACRO
dw \2 ; Script Label
ENDM
+; Sets some NPC sprite attributes
+set_sprite_attributes: MACRO
+ run_command ScriptCommand_SetSpriteAttributes
+ db \1 ; Relates to LOADED_NPC_FIELD_05
+ db \2 ; Relates to LOADED_NPC_FIELD_05
+ db \3 ; Relates to LOADED_NPC_FIELD_06
+ENDM
+
+; Sets the active NPC's coords
+set_active_npc_coords: MACRO
+ run_command ScriptCommand_SetActiveNPCCoords
+ db \1 ; X Coord
+ db \2 ; Y Coord
+ENDM
+
; Waits a number of frames
do_frames: MACRO
run_command ScriptCommand_DoFrames
db \1 ; Number of frames to wait
ENDM
+; Jumps to a script position if the active NPC's X and Y match the given values
+jump_if_active_npc_coords_match: MACRO
+ run_command ScriptCommand_JumpIfActiveNPCCoordsMatch
+ db \1 ; X Coord
+ db \2 ; Y Coord
+ dw \3 ; Script Label
+ENDM
+
; Jumps to a script position if the player's X and Y match the given values
jump_if_player_coords_match: MACRO
run_command ScriptCommand_JumpIfPlayerCoordsMatch
@@ -293,17 +378,93 @@ give_one_of_each_trainer_booster: MACRO
run_command ScriptCommand_GiveOneOfEachTrainerBooster
ENDM
+; Jumps to a script position if the NPC is loaded
+jump_if_npc_loaded: MACRO
+ run_command ScriptCommand_JumpIfNPCLoaded
+ db \1 ; NPC (ex NPC_DRMASON)
+ dw \2 ; Script Label
+ENDM
+
+; Shows the medal received screen for the given master medal
+show_medal_received_screen: MACRO
+ run_command ScriptCommand_ShowMedalReceivedScreen
+ db \1 ; medal event
+ENDM
+
+; Loads the current map name into the given txram slot
+load_current_map_name_into_txram_slot: MACRO
+ run_command ScriptCommand_LoadCurrentMapNameIntoTxRamSlot
+ db \1 ; TxRam slot
+ENDM
+
+; Loads the active NPC name into the given txram slot
+load_active_npc_name_into_txram_slot: MACRO
+ run_command ScriptCommand_LoadActiveNPCNameIntoTxRamSlot
+ db \1 ; TxRam slot
+ENDM
+
+; Begins a duel with the challenge hall opponent
+; The deck and song arguments are overwritten when the duel is initialized
+start_challenge_hall_duel: MACRO
+ run_command ScriptCommand_StartChallengeHallDuel
+ db \1 ; Prize Amount (ex PRIZES_2)
+ db \2 ; Deck ID (ex SAMS_PRACTICE_DECK_ID)
+ db \3 ; Duel Music (ex MUSIC_DUEL_THEME_1)
+ENDM
+
+; Prints the text based on the current challenge cup number
+print_text_for_challenge_cup: MACRO
+ run_command ScriptCommand_PrintTextForChallengeCup
+ tx \1 ; Text Pointer for Challenge Cup #1
+ tx \2 ; Text Pointer for Challenge Cup #2
+ tx \3 ; Text Pointer for Challenge Cup #3
+ENDM
+
; Moves the NPC in wTempNPC using an NPCMovement
move_wram_npc: MACRO
run_command ScriptCommand_MoveWramNPC
dw \1 ; NPCMovement (ex NPCMovement_d880)
ENDM
+; Unloads the Challenge Hall opponent NPC
+unload_challenge_hall_npc: MACRO
+ run_command ScriptCommand_UnloadChallengeHallNPC
+ENDM
+
+; Sets the Challenge Hall opponent NPC's coords
+set_challenge_hall_npc_coords: MACRO
+ run_command ScriptCommand_SetChallengeHallNPCCoords
+ db \1 ; X Coord
+ db \2 ; Y Coord
+ENDM
+
+; Picks the next Challenge Hall opponent NPC
+pick_challenge_hall_opponent: MACRO
+ run_command ScriptCommand_PickChallengeHallOpponent
+ENDM
+
+; Opens the pause menu
+open_menu: MACRO
+ run_command ScriptCommand_OpenMenu
+ENDM
+
+; Picks the Challenge Cup prize card
+pick_challenge_cup_prize_card: MACRO
+ run_command ScriptCommand_PickChallengeCupPrizeCard
+ENDM
+
; Closes Advanced TextBoxes then Ends Script Loop
quit_script_fully: MACRO
run_command ScriptCommand_QuitScriptFully
ENDM
+; Replaces map blocks
+; used for deck machines, challenge machine, Pokemon Dome doors, Hall of Honor doors etc
+replace_map_blocks: MACRO
+ run_command ScriptCommand_ReplaceMapBlocks
+ db \1 ; id
+ENDM
+
choose_deck_to_duel_against: MACRO
run_command ScriptCommand_ChooseDeckToDuelAgainstMultichoice
ENDM
@@ -335,6 +496,45 @@ move_npc: MACRO
dw \2 ; NPCMovement (NPCMovement_e2ab)
ENDM
+; Picks the next legendary card
+pick_legendary_card: MACRO
+ run_command ScriptCommand_PickLegendaryCard
+ENDM
+
+; Flashes the screen to white
+; if arg is non-zero, keep the screen white
+; otherwise, fade the screen back in
+flash_screen: MACRO
+ run_command ScriptCommand_FlashScreen
+ db \1 ; keep screen white?
+ENDM
+
+; Saves the game
+; if arg is non-zero, save the player in MASON_LABORATORY
+; otherwise, save the player in their current location
+save_game: MACRO
+ run_command ScriptCommand_SaveGame
+ db \1 ; send to MASON_LABORATORY?
+ENDM
+
+; Loads the Battle Center
+battle_center: MACRO
+ run_command ScriptCommand_BattleCenter
+ENDM
+
+; Loads the Gift Center
+; if arg is zero, display the options selection menu
+; otherwise, execute the player's previously chosen selection
+gift_center: MACRO
+ run_command ScriptCommand_GiftCenter
+ db \1 ; execute selection?
+ENDM
+
+; Plays the credits
+play_credits: MACRO
+ run_command ScriptCommand_PlayCredits
+ENDM
+
; Tries to give the player a specific PC Pack from Dr. Mason
try_give_pc_pack: MACRO
run_command ScriptCommand_TryGivePCPack
@@ -346,6 +546,28 @@ script_nop: MACRO
run_command ScriptCommand_nop
ENDM
+; Gives the player their previously chosen starter deck
+give_stater_deck: MACRO
+ run_command ScriptCommand_GiveStarterDeck
+ENDM
+
+; Walks the player across the overworld map to MASON_LABORATORY
+walk_player_to_mason_lab: MACRO
+ run_command ScriptCommand_WalkPlayerToMasonLaboratory
+ENDM
+
+; Plays a song and saves it to wd112
+override_song: MACRO
+ run_command ScriptCommand_OverrideSong
+ db \1 ; Song ID (ex MUSIC_BOOSTER_PACK)
+ENDM
+
+; Sets the default song for the overworld
+set_default_song: MACRO
+ run_command ScriptCommand_SetDefaultSong
+ db \1 ; Song ID (ex MUSIC_BOOSTER_PACK)
+ENDM
+
; Plays a song
play_song: MACRO
run_command ScriptCommand_PlaySong
@@ -368,11 +590,24 @@ resume_song: MACRO
run_command ScriptCommand_ResumeSong
ENDM
+; Plays the default overworld song
+play_default_song: MACRO
+ run_command ScriptCommand_PlayDefaultSong
+ENDM
+
; Waits for the current song to finish
wait_for_song_to_finish: MACRO
run_command ScriptCommand_WaitForSongToFinish
ENDM
+; Records when the player defeats a master (the 8 Club Masters or the Ronald Grand Master duel)
+; the order of wins is stored in wd3bb
+; the purpose of this is still unknown
+record_master_win: MACRO
+ run_command ScriptCommand_RecordMasterWin
+ db \1 ; which master duel
+ENDM
+
; Asks the player a question then jumps
ask_question_jump_default_yes: MACRO
run_command ScriptCommand_AskQuestionJumpDefaultYes
@@ -392,6 +627,11 @@ show_sam_tutorial_multichoice: MACRO
run_command ScriptCommand_ShowSamTutorialMultichoice
ENDM
+; Runs the Challenge Machine
+challenge_machine: MACRO
+ run_command ScriptCommand_ChallengeMachine
+ENDM
+
; Sets a flag's value
script_set_flag_value: MACRO
run_command ScriptCommand_SetFlagValue
@@ -429,7 +669,7 @@ jump_if_flag_not_equal: MACRO
dw \3 ; Script Label
ENDM
-; Jump to a script position if a flag is not less than a given value
+; Jumps to a script position if a flag is not less than a given value
jump_if_flag_not_less_than: MACRO
run_command ScriptCommand_JumpIfFlagNotLessThan
db \1 ; flag (ex EVENT_FLAG_11)
@@ -437,7 +677,7 @@ jump_if_flag_not_less_than: MACRO
dw \3 ; Script Label
ENDM
-; Jump to a script position if a flag is less than a given value
+; Jumps to a script position if a flag is less than a given value
jump_if_flag_less_than: MACRO
run_command ScriptCommand_JumpIfFlagLessThan
db \1 ; flag (ex EVENT_FLAG_11)