summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/macros/battle_frontier.inc830
1 files changed, 440 insertions, 390 deletions
diff --git a/asm/macros/battle_frontier.inc b/asm/macros/battle_frontier.inc
index 4e04043d8..ca06bc178 100644
--- a/asm/macros/battle_frontier.inc
+++ b/asm/macros/battle_frontier.inc
@@ -1,402 +1,452 @@
-@ Frontier Util
-
-.macro frontier_checkoutcome
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_STATUS
-special CallFrontierUtilFunc
-.endm
-
-.macro frontier_getchallengestatus
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
-setvar VAR_0x8005, 0
-special CallFrontierUtilFunc
-.endm
-
-.macro frontier_setchallengestatus status:req
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
-setvar VAR_0x8005, 0
-setvar VAR_0x8006, \status
-special CallFrontierUtilFunc
-.endm
-
-.macro frontier_getlvlmode
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
-setvar VAR_0x8005, 1
-special CallFrontierUtilFunc
-.endm
-
-.macro frontier_setlvlmode lvlmode:req
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
-setvar VAR_0x8005, 1
-setvar VAR_0x8006, \lvlmode
-special CallFrontierUtilFunc
-.endm
-
-.macro frontier_getbattlenum
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
-setvar VAR_0x8005, 2
-special CallFrontierUtilFunc
-.endm
-
-.macro frontier_setbattlenum battleNum:req
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
-setvar VAR_0x8005, 2
-copyvar VAR_0x8006, \battleNum
-special CallFrontierUtilFunc
-.endm
-
-.macro frontier_getbattleoutcome
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
-setvar VAR_0x8005, 5
-special CallFrontierUtilFunc
-.endm
-
-.macro frontier_set data:req, val=0xFFFF
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
-setvar VAR_0x8005, \data
-.if \val == 0xFFFF
-@ no value provided
-.elseif \val >= VARS_START
-copyvar VAR_0x8006, \val
-.else
-setvar VAR_0x8006, \val
-.endif
-special CallFrontierUtilFunc
-.endm
-
-.macro frontier_loadselectedmons
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_LOAD_SELECTED_PARTY
-setvar VAR_0x8005, FRONTIER_PARTY_SIZE
-special CallFrontierUtilFunc
-.endm
-
-@ Facilities with only 1 mode dont provide the mode argument
-.macro frontier_results facility:req, mode=0xFF
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_RESULTS_WINDOW
-setvar VAR_0x8005, \facility
-.if \mode != 0xFF
-setvar VAR_0x8006, \mode
-.endif
-special CallFrontierUtilFunc
-.endm
-
-.macro frontier_getbrainstatus
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_BRAIN_STATUS
-special CallFrontierUtilFunc
-.endm
-
-.macro frontier_resetsketch
-setvar VAR_0x8004, FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES
-special CallFrontierUtilFunc
-.endm
-
-
-@ Battle Tower
-
-.macro battletower_getstreak
-setvar VAR_0x8004, BATTLE_TOWER_FUNC_1
-setvar VAR_0x8005, 1
-special CallBattleTowerFunc
-.endm
-
-
-@ Battle Dome
-
-
-@ Battle Palace
-
-
-@ Battle Arena
-
-
-@ Battle Factory
-
-
-@ Battle Pike
-
-.macro battlepike_getstreak
-setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA
-setvar VAR_0x8005, 1
-special CallBattlePikeFunction
-.endm
-
-.macro battlepike_setstreak streak:req
-setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
-setvar VAR_0x8005, 1
-.if \streak >= VARS_START
-copyvar VAR_0x8006, \streak
-.else
-setvar VAR_0x8006, \streak
-.endif
-special CallBattlePikeFunction
-.endm
-
-.macro battlepike_isfinalroom
-setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_FINAL_ROOM
-special CallBattlePikeFunction
-.endm
-
-.macro battlepike_setroomobjects
-setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS
-special CallBattlePikeFunction
-.endm
-
-.macro battlepike_getroomtype
-setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE
-special CallBattlePikeFunction
-.endm
-
-.macro battlepike_setnextroom
-setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_TYPE
-special CallBattlePikeFunction
-.endm
-
-.macro battlepike_gethint
-setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT
-special CallBattlePikeFunction
-.endm
-
-.macro battlepike_nohealing set:req
-setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HEALING_ROOMS_DISABLED
-setvar VAR_0x8005, \set
-special CallBattlePikeFunction
-.endm
+ @ TODO:
+ @ Add macro comments
+ @ Split into individual files
+ @ Enforce tab spacing
+ @ Standardize Func->Function
+
+ @ Frontier Util
+
+ .macro frontier_getstatus
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_STATUS
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_get data:req
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
+ setvar VAR_0x8005, \data
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_set data:req, val=0xFFFF
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
+ setvar VAR_0x8005, \data
+ .if \val == 0xFFFF
+ @ no value provided
+ .elseif \val >= VARS_START
+ copyvar VAR_0x8006, \val
+ .else
+ setvar VAR_0x8006, \val
+ .endif
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_setpartyorder partySize:req
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_PARTY_ORDER
+ setvar VAR_0x8005, \partySize
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_reset
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_settrainers
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_TRAINERS
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_saveparty
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SAVE_PARTY
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Facilities with only 1 mode dont provide the mode argument
+ .macro frontier_results facility:req, mode=0xFF
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_RESULTS_WINDOW
+ setvar VAR_0x8005, \facility
+ .if \mode != 0xFF
+ setvar VAR_0x8006, \mode
+ .endif
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_checkairshow
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_AIR_TV_SHOW
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_getbrainstatus
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_BRAIN_STATUS
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_isbrain
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_IS_BRAIN
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_givepoints
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_BATTLE_POINTS
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_getsymbols
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_givesymbol
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_isbattletype battleType:req
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_BATTLE_TYPE
+ setvar VAR_0x8005, \battleType
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_checkineligible
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_INELIGIBLE
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Validates the visiting E-Reader trainer. 0 if valid, 1 if not
+ .macro frontier_checkvisittrainer
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_incrementstreak
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_INCREMENT_STREAK
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_restorehelditems
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_RESTORE_HELD_ITEMS
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_savebattle
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SAVE_BATTLE
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_gettrainername stringVar:req
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME
+ setvar VAR_0x8005, \stringVar
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_resetsketch
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES
+ special CallFrontierUtilFunc
+ .endm
+
+ .macro frontier_setbrainobj
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT
+ special CallFrontierUtilFunc
+ .endm
+
-.macro battlepike_ispartyfullhealth
-setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH
-special CallBattlePikeFunction
-.endm
+ @ Battle Tower
+
+ .macro battletower_getstreak
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_1
+ setvar VAR_0x8005, 1
+ special CallBattleTowerFunc
+ .endm
+
+
+ @ Battle Dome
+
+
+ @ Battle Palace
-@ Battle Pyramid
+ @ Battle Arena
-@ Battle Tent
+ @ Battle Factory
-@ Trainer Hill
+ @ Battle Pike
-.macro trainerhill_start
-setvar VAR_0x8004, TRAINER_HILL_FUNC_START
-special CallTrainerHillFunction
-.endm
+ .macro battlepike_getstreak
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA
+ setvar VAR_0x8005, 1
+ special CallBattlePikeFunction
+ .endm
-.macro trainerhill_getownerstate
-setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_OWNER_STATE
-special CallTrainerHillFunction
-.endm
+ .macro battlepike_setstreak streak:req
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
+ setvar VAR_0x8005, 1
+ .if \streak >= VARS_START
+ copyvar VAR_0x8006, \streak
+ .else
+ setvar VAR_0x8006, \streak
+ .endif
+ special CallBattlePikeFunction
+ .endm
-.macro trainerhill_giveprize
-setvar VAR_0x8004, TRAINER_HILL_FUNC_GIVE_PRIZE
-special CallTrainerHillFunction
-.endm
+ .macro battlepike_isfinalroom
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_FINAL_ROOM
+ special CallBattlePikeFunction
+ .endm
-.macro trainerhill_finaltime
-setvar VAR_0x8004, TRAINER_HILL_FUNC_CHECK_FINAL_TIME
-special CallTrainerHillFunction
-.endm
+ .macro battlepike_setroomobjects
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS
+ special CallBattlePikeFunction
+ .endm
-.macro trainerhill_resumetimer
-setvar VAR_0x8004, TRAINER_HILL_FUNC_RESUME_TIMER
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_lost
-setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_LOST
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_getstatus
-setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_gettime
-setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_CHALLENGE_TIME
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_allfloorsused
-setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_ALL_FLOORS_USED
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_clearresult
-setvar VAR_0x8004, TRAINER_HILL_FUNC_CLEAR_RESULT
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_inchallenge
-setvar VAR_0x8004, TRAINER_HILL_FUNC_IN_CHALLENGE
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_postbattletext
-setvar VAR_0x8004, TRAINER_HILL_FUNC_POST_BATTLE_TEXT
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_settrainerflags
-setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_ALL_TRAINER_FLAGS
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_getsaved
-setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_GAME_SAVED
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_setsaved
-setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_GAME_SAVED
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_clearsaved
-setvar VAR_0x8004, TRAINER_HILL_FUNC_CLEAR_GAME_SAVED
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_getwon
-setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_WON
-special CallTrainerHillFunction
-.endm
-
-.macro trainerhill_settag tag:req
-setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_TAG
-copyvar VAR_0x8005, \tag
-special CallTrainerHillFunction
-.endm
-
-
-@ Apprentice
-
-.macro apprentice_gavelvlmode
-setvar VAR_0x8004, APPRENTICE_FUNC_GAVE_LVLMODE
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_setlvlmode lvlmode:req
-setvar VAR_0x8004, APPRENTICE_FUNC_SET_LVLMODE
-setorcopyvar VAR_0x8005, \lvlmode
-addvar VAR_0x8005, 1
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_answeredquestion
-setvar VAR_0x8004, APPRENTICE_FUNC_ANSWERED_QUESTION
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_menu which:req
-setvar VAR_0x8004, APPRENTICE_FUNC_MENU
-setvar VAR_0x8005, \which
-special CallApprenticeFunction
-waitstate
-.endm
-
-.macro apprentice_shufflespecies
-setvar VAR_0x8004, APPRENTICE_FUNC_SHUFFLE_SPECIES
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_randomizequestions
-setvar VAR_0x8004, APPRENTICE_FUNC_RANDOMIZE_QUESTIONS
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_msg waitbuttonpress:req, which:req
-setvar VAR_0x8004, APPRENTICE_FUNC_PRINT_MSG
-setvar VAR_0x8005, \waitbuttonpress
-setvar VAR_0x8006, \which
-special CallApprenticeFunction
-waitstate
-.endm
-
-.macro apprentice_reset
-setvar VAR_0x8004, APPRENTICE_FUNC_RESET
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_shouldcheckgone
-setvar VAR_0x8004, APPRENTICE_FUNC_CHECK_GONE
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_getquestion
-setvar VAR_0x8004, APPRENTICE_FUNC_GET_QUESTION
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_getnumpartymons
-setvar VAR_0x8004, APPRENTICE_FUNC_GET_NUM_PARTY_MONS
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_setpartymon slot:req
-copyvar VAR_0x8006, \slot
-setvar VAR_0x8004, APPRENTICE_FUNC_SET_PARTY_MON
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_initquestion which:req
-setvar VAR_0x8004, APPRENTICE_FUNC_INIT_QUESTION_DATA
-setvar VAR_0x8005, \which
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_freequestion
-setvar VAR_0x8004, APPRENTICE_FUNC_FREE_QUESTION_DATA
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_buff whichstringvar:req, tobuff:req
-setvar VAR_0x8004, APPRENTICE_FUNC_BUFFER_STRING
-setvar VAR_0x8005, \whichstringvar
-.if \tobuff >= VARS_START
-copyvar VAR_0x8006, \tobuff
-.else
-setvar VAR_0x8006, \tobuff
-.endif
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_setmove
-setvar VAR_0x8004, APPRENTICE_FUNC_SET_MOVE
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_setleadmon monId:req
-copyvar VAR_0x8005, \monId
-setvar VAR_0x8004, APPRENTICE_FUNC_SET_LEAD_MON
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_openbag
-setvar VAR_0x8004, APPRENTICE_FUNC_OPEN_BAG
-special CallApprenticeFunction
-waitstate
-.endm
-
-.macro apprentice_trysetitem
-setvar VAR_0x8004, APPRENTICE_FUNC_TRY_SET_HELD_ITEM
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_save
-setvar VAR_0x8004, APPRENTICE_FUNC_SAVE
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_setgfx
-setvar VAR_0x8004, APPRENTICE_FUNC_SET_GFX
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_shouldleave
-setvar VAR_0x8004, APPRENTICE_FUNC_SHOULD_LEAVE
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_shiftsaved
-setvar VAR_0x8004, APPRENTICE_FUNC_SHIFT_SAVED
-special CallApprenticeFunction
-.endm
+ .macro battlepike_getroomtype
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE
+ special CallBattlePikeFunction
+ .endm
+
+ .macro battlepike_setnextroom
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_TYPE
+ special CallBattlePikeFunction
+ .endm
+
+ .macro battlepike_gethint
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT
+ special CallBattlePikeFunction
+ .endm
+
+ .macro battlepike_nohealing set:req
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HEALING_ROOMS_DISABLED
+ setvar VAR_0x8005, \set
+ special CallBattlePikeFunction
+ .endm
+
+ .macro battlepike_ispartyfullhealth
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH
+ special CallBattlePikeFunction
+ .endm
+
+
+ @ Battle Pyramid
+
+
+ @ Battle Tent
+
+
+ @ Trainer Hill
+
+ .macro trainerhill_start
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_START
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_getownerstate
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_OWNER_STATE
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_giveprize
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GIVE_PRIZE
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_finaltime
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_CHECK_FINAL_TIME
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_resumetimer
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_RESUME_TIMER
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_lost
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_LOST
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_getstatus
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_gettime
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_CHALLENGE_TIME
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_allfloorsused
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_ALL_FLOORS_USED
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_clearresult
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_CLEAR_RESULT
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_inchallenge
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_IN_CHALLENGE
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_postbattletext
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_POST_BATTLE_TEXT
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_settrainerflags
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_ALL_TRAINER_FLAGS
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_getsaved
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_GAME_SAVED
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_setsaved
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_GAME_SAVED
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_clearsaved
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_CLEAR_GAME_SAVED
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_getwon
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_WON
+ special CallTrainerHillFunction
+ .endm
+
+ .macro trainerhill_settag tag:req
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_TAG
+ copyvar VAR_0x8005, \tag
+ special CallTrainerHillFunction
+ .endm
+
+
+ @ Apprentice
+
+ .macro apprentice_gavelvlmode
+ setvar VAR_0x8004, APPRENTICE_FUNC_GAVE_LVLMODE
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_setlvlmode lvlmode:req
+ setvar VAR_0x8004, APPRENTICE_FUNC_SET_LVLMODE
+ setorcopyvar VAR_0x8005, \lvlmode
+ addvar VAR_0x8005, 1
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_answeredquestion
+ setvar VAR_0x8004, APPRENTICE_FUNC_ANSWERED_QUESTION
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_menu which:req
+ setvar VAR_0x8004, APPRENTICE_FUNC_MENU
+ setvar VAR_0x8005, \which
+ special CallApprenticeFunction
+ waitstate
+ .endm
+
+ .macro apprentice_shufflespecies
+ setvar VAR_0x8004, APPRENTICE_FUNC_SHUFFLE_SPECIES
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_randomizequestions
+ setvar VAR_0x8004, APPRENTICE_FUNC_RANDOMIZE_QUESTIONS
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_msg waitbuttonpress:req, which:req
+ setvar VAR_0x8004, APPRENTICE_FUNC_PRINT_MSG
+ setvar VAR_0x8005, \waitbuttonpress
+ setvar VAR_0x8006, \which
+ special CallApprenticeFunction
+ waitstate
+ .endm
+
+ .macro apprentice_reset
+ setvar VAR_0x8004, APPRENTICE_FUNC_RESET
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_shouldcheckgone
+ setvar VAR_0x8004, APPRENTICE_FUNC_CHECK_GONE
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_getquestion
+ setvar VAR_0x8004, APPRENTICE_FUNC_GET_QUESTION
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_getnumpartymons
+ setvar VAR_0x8004, APPRENTICE_FUNC_GET_NUM_PARTY_MONS
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_setpartymon slot:req
+ copyvar VAR_0x8006, \slot
+ setvar VAR_0x8004, APPRENTICE_FUNC_SET_PARTY_MON
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_initquestion which:req
+ setvar VAR_0x8004, APPRENTICE_FUNC_INIT_QUESTION_DATA
+ setvar VAR_0x8005, \which
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_freequestion
+ setvar VAR_0x8004, APPRENTICE_FUNC_FREE_QUESTION_DATA
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_buff whichstringvar:req, tobuff:req
+ setvar VAR_0x8004, APPRENTICE_FUNC_BUFFER_STRING
+ setvar VAR_0x8005, \whichstringvar
+ .if \tobuff >= VARS_START
+ copyvar VAR_0x8006, \tobuff
+ .else
+ setvar VAR_0x8006, \tobuff
+ .endif
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_setmove
+ setvar VAR_0x8004, APPRENTICE_FUNC_SET_MOVE
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_setleadmon monId:req
+ copyvar VAR_0x8005, \monId
+ setvar VAR_0x8004, APPRENTICE_FUNC_SET_LEAD_MON
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_openbag
+ setvar VAR_0x8004, APPRENTICE_FUNC_OPEN_BAG
+ special CallApprenticeFunction
+ waitstate
+ .endm
+
+ .macro apprentice_trysetitem
+ setvar VAR_0x8004, APPRENTICE_FUNC_TRY_SET_HELD_ITEM
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_save
+ setvar VAR_0x8004, APPRENTICE_FUNC_SAVE
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_setgfx
+ setvar VAR_0x8004, APPRENTICE_FUNC_SET_GFX
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_shouldleave
+ setvar VAR_0x8004, APPRENTICE_FUNC_SHOULD_LEAVE
+ special CallApprenticeFunction
+ .endm
+
+ .macro apprentice_shiftsaved
+ setvar VAR_0x8004, APPRENTICE_FUNC_SHIFT_SAVED
+ special CallApprenticeFunction
+ .endm