Document Frontier Util

This commit is contained in:
GriffinR
2019-11-24 16:58:40 -05:00
committed by huderlem
parent 08a8dc46e3
commit 63ee15fc28
75 changed files with 1813 additions and 2153 deletions
+440 -390
View File
@@ -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
@@ -10,8 +10,7 @@ BattleFrontier_BattleArenaBattleRoom_MapScript1_25749C: @ 825749C
end
BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0: @ 82574A0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_FRONTIER_TRAINERS
special CallFrontierUtilFunc
frontier_settrainers
call BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE
end
@@ -40,14 +39,14 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC:: @ 82574DC
showobjectat 8, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE2
waitmovement 0
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25752E
applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB
setvar VAR_TEMP_2, 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
goto BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
@@ -107,15 +106,15 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB:: @ 82575DB
msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CCE, MSGBOX_DEFAULT
BattleFrontier_BattleArenaBattleRoom_EventScript_257615:: @ 8257615
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8
waitstate
BattleFrontier_BattleArenaBattleRoom_EventScript_257630:: @ 8257630
call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
frontier_setbattlenum VAR_RESULT
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
case 7, BattleFrontier_BattleArenaBattleRoom_EventScript_257852
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE7
@@ -128,7 +127,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257630:: @ 8257630
msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CE9, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
@@ -138,7 +137,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0:: @ 82576B0
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 1
call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257870
compare VAR_RESULT, 2
@@ -180,7 +179,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25779E:: @ 825779E
case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
BattleFrontier_BattleArenaBattleRoom_EventScript_2577D0:: @ 82577D0
call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8B4
call BattleFrontier_EventScript_SaveBattle
goto BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA:: @ 82577DA
@@ -209,7 +208,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25783A:: @ 825783A
BattleFrontier_BattleArenaBattleRoom_EventScript_257852:: @ 8257852
delay 60
frontier_setchallengestatus CHALLENGE_STATUS_WON
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8
waitstate
@@ -252,8 +251,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25789A:: @ 825789A
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET
special CallFrontierUtilFunc
frontier_reset
end
BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC:: @ 82578BC
@@ -285,7 +283,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25792B:: @ 825792B
case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4
BattleFrontier_BattleArenaBattleRoom_EventScript_257961:: @ 8257961
call BattleFrontier_BattleArenaBattleRoom_EventScript_242170
call BattleFrontier_EventScript_SetBrainObjectGfx
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BED
applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257BED
waitmovement 0
@@ -312,16 +310,12 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257961:: @ 8257961
case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F
msgbox BattleFrontier_BattleArenaBattleRoom_Text_25801C, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C30
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_25804E, MSGBOX_DEFAULT
@@ -339,8 +333,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F:: @ 8257A3F
BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C:: @ 8257A5C
call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
frontier_getsymbols
compare VAR_RESULT, 0
goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257852
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1
@@ -350,22 +343,17 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C:: @ 8257A5C
message BattleFrontier_BattleArenaBattleRoom_Text_25819C
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
msgbox BattleFrontier_BattleArenaBattleRoom_Text_2581CF, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaBattleRoom_EventScript_257852
BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5:: @ 8257AA5
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8
msgbox BattleFrontier_BattleArenaBattleRoom_Text_258213, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C30
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582A2, MSGBOX_DEFAULT
@@ -383,8 +371,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8:: @ 8257AF8
BattleFrontier_BattleArenaBattleRoom_EventScript_257B15:: @ 8257B15
call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
frontier_getsymbols
compare VAR_RESULT, 2
goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257852
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1
@@ -394,8 +381,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257B15:: @ 8257B15
message BattleFrontier_BattleArenaBattleRoom_Text_25835B
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
msgbox BattleFrontier_BattleArenaBattleRoom_Text_258383, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaBattleRoom_EventScript_257852
@@ -409,7 +395,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_257B6C:: @ 8257B6C
closemessage
setvar VAR_TEMP_2, 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
special HealPlayerParty
@@ -417,8 +403,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_257B6C:: @ 8257B6C
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_18
special CallFrontierUtilFunc
frontier_restorehelditems
special HealPlayerParty
frontier_resetsketch
return
@@ -434,7 +419,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9:: @ 8257BA9
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CB3, MSGBOX_DEFAULT
closemessage
call BattleFrontier_BattleArenaBattleRoom_EventScript_241EBA
call BattleFrontier_EventScript_IncrementWinStreak
return
BattleFrontier_BattleArenaBattleRoom_Movement_257BE2: @ 8257BE2
@@ -14,14 +14,14 @@ BattleFrontier_BattleArenaLobby_EventScript_255C4B:: @ 8255C4B
BattleFrontier_BattleArenaLobby_MapScript2_255C55: @ 8255C55
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaLobby_EventScript_255C7F
map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleArenaLobby_EventScript_255C88
map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleArenaLobby_EventScript_255DC0
map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleArenaLobby_EventScript_255CCF
map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleArenaLobby_EventScript_255D2B
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleArenaLobby_EventScript_255C88
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleArenaLobby_EventScript_255DC0
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleArenaLobby_EventScript_255CCF
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleArenaLobby_EventScript_255D2B
.2byte 0
BattleFrontier_BattleArenaLobby_EventScript_255C7F:: @ 8255C7F
frontier_checkoutcome
frontier_getstatus
end
BattleFrontier_BattleArenaLobby_EventScript_255C88:: @ 8255C88
@@ -36,18 +36,14 @@ BattleFrontier_BattleArenaLobby_EventScript_255C88:: @ 8255C88
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
special CallBattleArenaFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
BattleFrontier_BattleArenaLobby_EventScript_255CCF:: @ 8255CCF
lockall
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_IS_FRONTIER_BRAIN
special CallFrontierUtilFunc
frontier_isbrain
compare VAR_RESULT, TRUE
goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255CF0
msgbox BattleFrontier_BattleArenaLobby_Text_2568E7, MSGBOX_DEFAULT
@@ -58,8 +54,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255CF0:: @ 8255CF0
BattleFrontier_BattleArenaLobby_EventScript_255CF8:: @ 8255CF8
msgbox BattleFrontier_BattleArenaLobby_Text_257353, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_11
special CallFrontierUtilFunc
frontier_givepoints
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
message BattleFrontier_BattleArenaLobby_Text_256931
waitmessage
@@ -86,8 +81,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255D2B:: @ 8255D2B
end
BattleFrontier_BattleArenaLobby_EventScript_255D59:: @ 8255D59
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_8
special CallFrontierUtilFunc
frontier_checkairshow
special LoadPlayerParty
special HealPlayerParty
setvar VAR_0x8004, 3
@@ -107,8 +101,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255D59:: @ 8255D59
case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_255DBF
BattleFrontier_BattleArenaLobby_EventScript_255DBA:: @ 8255DBA
call BattleFrontier_BattleArenaLobby_EventScript_23E8B4
call BattleFrontier_EventScript_SaveBattle
BattleFrontier_BattleArenaLobby_EventScript_255DBF:: @ 8255DBF
return
@@ -121,18 +114,15 @@ BattleFrontier_BattleArenaLobby_EventScript_255DC0:: @ 8255DC0
special CallBattleArenaFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
goto BattleFrontier_BattleArenaLobby_EventScript_255F54
BattleFrontier_BattleArenaLobby_EventScript_255DF4:: @ 8255DF4
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 3
setvar VAR_FRONTIER_BATTLE_MODE, 0
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_ARENA
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
special SavePlayerParty
msgbox BattleFrontier_BattleArenaLobby_Text_256166, MSGBOX_DEFAULT
@@ -151,19 +141,15 @@ BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
case 2, BattleFrontier_BattleArenaLobby_EventScript_255FFB
case FRONTIER_LVL_TENT, BattleFrontier_BattleArenaLobby_EventScript_255FFB
case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_255FFB
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
frontier_checkineligible
compare VAR_0x8004, TRUE
goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FAC
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleArenaLobby_Text_256573, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattleArenaLobby_EventScript_23F2B7
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, 3
special sub_80F9490
@@ -178,23 +164,15 @@ BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47
BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_0x8004, 0
special CallBattleArenaFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
special CallBattleArenaFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
@@ -205,15 +183,13 @@ BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8
BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54
special SavePlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox BattleFrontier_BattleArenaLobby_Text_2567E6, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 1
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_LVL_MODE
compare VAR_RESULT, FRONTIER_LVL_50
call_if_eq BattleFrontier_BattleArenaLobby_EventScript_256005
compare VAR_RESULT, 1
compare VAR_RESULT, FRONTIER_LVL_OPEN
call_if_eq BattleFrontier_BattleArenaLobby_EventScript_256050
warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 255, 9, 13
setvar VAR_TEMP_0, 0
@@ -226,8 +202,8 @@ BattleFrontier_BattleArenaLobby_EventScript_255F9F:: @ 8255F9F
BattleFrontier_BattleArenaLobby_EventScript_255FAC:: @ 8255FAC
switch VAR_RESULT
case 0, BattleFrontier_BattleArenaLobby_EventScript_255FC7
case 1, BattleFrontier_BattleArenaLobby_EventScript_255FD4
case FRONTIER_LVL_50, BattleFrontier_BattleArenaLobby_EventScript_255FC7
case FRONTIER_LVL_OPEN, BattleFrontier_BattleArenaLobby_EventScript_255FD4
BattleFrontier_BattleArenaLobby_EventScript_255FC7:: @ 8255FC7
msgbox BattleFrontier_BattleArenaLobby_Text_2566A8, MSGBOX_DEFAULT
@@ -238,18 +214,13 @@ BattleFrontier_BattleArenaLobby_EventScript_255FD4:: @ 8255FD4
goto BattleFrontier_BattleArenaLobby_EventScript_256003
BattleFrontier_BattleArenaLobby_EventScript_255FE1:: @ 8255FE1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
goto BattleFrontier_BattleArenaLobby_EventScript_255FFB
BattleFrontier_BattleArenaLobby_EventScript_255FF8:: @ 8255FF8
special LoadPlayerParty
BattleFrontier_BattleArenaLobby_EventScript_255FFB:: @ 8255FFB
msgbox BattleFrontier_BattleArenaLobby_Text_25621F, MSGBOX_DEFAULT
BattleFrontier_BattleArenaLobby_EventScript_256003:: @ 8256003
release
end
@@ -8,7 +8,7 @@ BattleFrontier_BattleDomeBattleRoom_MapScripts:: @ 824BC9C
BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1: @ 824BCB1
setvar VAR_0x8004, 10
special CallBattleDomeFunction
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, 0
call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C919
@@ -132,22 +132,18 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BE8D:: @ 824BE8D
special CallBattleDomeFunction
BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A:: @ 824BE9A
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5
@ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5
BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1:: @ 824BEB1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME
setvar VAR_0x8005, 1
special CallFrontierUtilFunc
frontier_gettrainername 1
message BattleFrontier_BattleDomeBattleRoom_Text_24C9E1
waitmessage
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5:: @ 824BEC5
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME
setvar VAR_0x8005, 0
special CallFrontierUtilFunc
frontier_gettrainername 0
message BattleFrontier_BattleDomeBattleRoom_Text_24CB34
waitmessage
return
@@ -172,9 +168,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0
setvar VAR_0x8004, 12
setvar VAR_0x8005, 1
special CallBattleDomeFunction
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
frontier_setbattlenum VAR_RESULT
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
setvar VAR_0x8006, 1
@@ -184,11 +180,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0
BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62:: @ 824BF62
applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77D
waitmovement 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 1
special CallFrontierUtilFunc
frontier_get FRONTIER_DATA_LVL_MODE
switch VAR_RESULT
case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF96
case FRONTIER_LVL_OPEN, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF96
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA04, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E
@@ -200,7 +194,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E:: @ 824BF9E
playse SE_W227B
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
delay 60
frontier_setchallengestatus CHALLENGE_STATUS_WON
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5
BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3:: @ 824BFC3
@@ -364,7 +358,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C1B6:: @ 824C1B6
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD:: @ 824C1BD
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB:: @ 824C1CB
@@ -411,16 +405,11 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C211:: @ 824C211
case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleDomeBattleRoom_EventScript_24C346
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleDomeBattleRoom_EventScript_24C373
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CFAE, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9:: @ 824C2B9
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0D9, MSGBOX_DEFAULT
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C400
@@ -429,11 +418,10 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9:: @ 824C2B9
case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420
case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C436
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
setvar VAR_0x8004, 12
setvar VAR_0x8005, 1
special CallBattleDomeFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
frontier_getsymbols
compare VAR_RESULT, 0
goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
closemessage
@@ -444,22 +432,16 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9:: @ 824C2B9
message BattleFrontier_BattleDomeBattleRoom_Text_24D1AA
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D1E0, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
BattleFrontier_BattleDomeBattleRoom_EventScript_24C346:: @ 824C346
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C373
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D319, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleDomeBattleRoom_EventScript_24C373:: @ 824C373
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D43E, MSGBOX_DEFAULT
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C400
@@ -471,8 +453,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C373:: @ 824C373
setvar VAR_0x8004, 12
setvar VAR_0x8005, 1
special CallBattleDomeFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
frontier_getsymbols
compare VAR_RESULT, 2
goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
closemessage
@@ -483,8 +464,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C373:: @ 824C373
message BattleFrontier_BattleDomeBattleRoom_Text_24D522
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D54D, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
@@ -510,7 +490,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C436:: @ 824C436
BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
special HealPlayerParty
@@ -537,14 +517,14 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B:: @ 824C48B
call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC
setvar VAR_TEMP_1, 1
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_24C773
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 3
goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF
frontier_getbrainstatus
copyvar VAR_TEMP_E, VAR_RESULT
compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF
call BattleFrontier_BattleDomeBattleRoom_EventScript_242170
call BattleFrontier_EventScript_SetBrainObjectGfx
setobjectxyperm 15, 13, 9
removeobject 15
addobject 15
@@ -933,7 +913,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E:: @ 824C82E
BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5:: @ 824C8F5
BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5:: @ 824C8F5
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
compare VAR_RESULT, 1
compare VAR_RESULT, FRONTIER_MODE_DOUBLES
goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F
warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 5, 11
waitstate
@@ -9,10 +9,8 @@ BattleFrontier_BattleDomeCorridor_MapScript2_24B104: @ 824B104
BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E
delay 16
setvar VAR_TEMP_0, 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 1
special CallFrontierUtilFunc
compare VAR_RESULT, 1
frontier_get FRONTIER_DATA_LVL_MODE
compare VAR_RESULT, FRONTIER_LVL_OPEN
goto_if_eq BattleFrontier_BattleDomeCorridor_EventScript_24B161
applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1B2
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1A1
@@ -37,7 +35,6 @@ BattleFrontier_BattleDomeCorridor_EventScript_24B161:: @ 824B161
waitmovement 0
closedoor 37, 3
waitdooranim
BattleFrontier_BattleDomeCorridor_EventScript_24B18F:: @ 824B18F
waitmovement 0
setvar VAR_0x8006, 0
@@ -21,14 +21,14 @@ BattleFrontier_BattleDomeLobby_EventScript_249805:: @ 8249805
BattleFrontier_BattleDomeLobby_MapScript2_24980F: @ 824980F
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeLobby_EventScript_249839
map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleDomeLobby_EventScript_249842
map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleDomeLobby_EventScript_2499F9
map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleDomeLobby_EventScript_24989B
map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleDomeLobby_EventScript_249940
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleDomeLobby_EventScript_249842
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleDomeLobby_EventScript_2499F9
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleDomeLobby_EventScript_24989B
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleDomeLobby_EventScript_249940
.2byte 0
BattleFrontier_BattleDomeLobby_EventScript_249839:: @ 8249839
frontier_checkoutcome
frontier_getstatus
end
BattleFrontier_BattleDomeLobby_EventScript_249842:: @ 8249842
@@ -47,19 +47,15 @@ BattleFrontier_BattleDomeLobby_EventScript_249842:: @ 8249842
setvar VAR_0x8005, 6
setvar VAR_0x8006, 1
special CallBattleDomeFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
BattleFrontier_BattleDomeLobby_EventScript_24989B:: @ 824989B
call BattleFrontier_BattleDomeLobby_EventScript_241EBA
call BattleFrontier_EventScript_IncrementWinStreak
lockall
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_IS_FRONTIER_BRAIN
special CallFrontierUtilFunc
frontier_isbrain
compare VAR_RESULT, TRUE
goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_2498C1
msgbox BattleFrontier_BattleDomeLobby_Text_24A4E9, MSGBOX_DEFAULT
@@ -70,15 +66,13 @@ BattleFrontier_BattleDomeLobby_EventScript_2498C1:: @ 82498C1
BattleFrontier_BattleDomeLobby_EventScript_2498C9:: @ 82498C9
msgbox BattleFrontier_BattleDomeLobby_Text_24ADB1, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_11
special CallFrontierUtilFunc
frontier_givepoints
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
message BattleFrontier_BattleDomeLobby_Text_24A5D6
waitmessage
special LoadPlayerParty
frontier_loadselectedmons
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_8
special CallFrontierUtilFunc
frontier_setpartyorder FRONTIER_PARTY_SIZE
frontier_checkairshow
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 1
@@ -101,9 +95,8 @@ BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940
message BattleFrontier_BattleDomeLobby_Text_24A5D6
waitmessage
special LoadPlayerParty
frontier_loadselectedmons
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_8
special CallFrontierUtilFunc
frontier_setpartyorder FRONTIER_PARTY_SIZE
frontier_checkairshow
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
@@ -133,8 +126,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249991:: @ 8249991
case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_2499E9
BattleFrontier_BattleDomeLobby_EventScript_2499E4:: @ 82499E4
call BattleFrontier_BattleDomeLobby_EventScript_23E8B4
call BattleFrontier_EventScript_SaveBattle
BattleFrontier_BattleDomeLobby_EventScript_2499E9:: @ 82499E9
msgbox BattleFrontier_BattleDomeLobby_Text_249F74, MSGBOX_DEFAULT
closemessage
@@ -152,40 +144,37 @@ BattleFrontier_BattleDomeLobby_EventScript_2499F9:: @ 82499F9
special CallBattleDomeFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
goto BattleFrontier_BattleDomeLobby_EventScript_249BC2
BattleFrontier_BattleDomeLobby_EventScript_249A35:: @ 8249A35
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 1
setvar VAR_FRONTIER_BATTLE_MODE, 0
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_DOME
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
goto BattleFrontier_BattleDomeLobby_EventScript_249A59
end
BattleFrontier_BattleDomeLobby_EventScript_249A47:: @ 8249A47
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 1
setvar VAR_FRONTIER_BATTLE_MODE, 1
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_DOME
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
goto BattleFrontier_BattleDomeLobby_EventScript_249A59
end
BattleFrontier_BattleDomeLobby_EventScript_249A59:: @ 8249A59
special SavePlayerParty
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CFD
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D06
BattleFrontier_BattleDomeLobby_EventScript_249A72:: @ 8249A72
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D0F
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D15
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, 0
@@ -200,19 +189,15 @@ BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
case 2, BattleFrontier_BattleDomeLobby_EventScript_249C64
case FRONTIER_LVL_TENT, BattleFrontier_BattleDomeLobby_EventScript_249C64
case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_249C64
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
frontier_checkineligible
compare VAR_0x8004, TRUE
goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C15
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleDomeLobby_Text_24A26E, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattleDomeLobby_EventScript_23F2B7
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, 3
special sub_80F9490
@@ -227,19 +212,11 @@ BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF
BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_0x8004, 0
special CallBattleDomeFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
@@ -252,7 +229,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60
BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2
special SavePlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
setvar VAR_0x8004, 15
special CallBattleDomeFunction
msgbox BattleFrontier_BattleDomeLobby_Text_24A437, MSGBOX_DEFAULT
@@ -265,16 +242,16 @@ BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2
end
BattleFrontier_BattleDomeLobby_EventScript_249BFA:: @ 8249BFA
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D1B
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D24
goto BattleFrontier_BattleDomeLobby_EventScript_249A72
BattleFrontier_BattleDomeLobby_EventScript_249C15:: @ 8249C15
switch VAR_RESULT
case 0, BattleFrontier_BattleDomeLobby_EventScript_249C30
case 1, BattleFrontier_BattleDomeLobby_EventScript_249C3D
case FRONTIER_LVL_50, BattleFrontier_BattleDomeLobby_EventScript_249C30
case FRONTIER_LVL_OPEN, BattleFrontier_BattleDomeLobby_EventScript_249C3D
BattleFrontier_BattleDomeLobby_EventScript_249C30:: @ 8249C30
msgbox BattleFrontier_BattleDomeLobby_Text_24A353, MSGBOX_DEFAULT
@@ -285,10 +262,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249C3D:: @ 8249C3D
goto BattleFrontier_BattleDomeLobby_EventScript_249C6C
BattleFrontier_BattleDomeLobby_EventScript_249C4A:: @ 8249C4A
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
goto BattleFrontier_BattleDomeLobby_EventScript_249C64
BattleFrontier_BattleDomeLobby_EventScript_249C61:: @ 8249C61
@@ -302,26 +276,26 @@ BattleFrontier_BattleDomeLobby_EventScript_249C6C:: @ 8249C6C
end
BattleFrontier_BattleDomeLobby_EventScript_249C6E:: @ 8249C6E
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CDD
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CE5
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_249D45
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D2D
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D33
waitdooranim
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CED
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CF5
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_249D4E
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D39
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D3F
waitdooranim
return
@@ -20,7 +20,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222:: @ 824B222
compare VAR_0x8006, 1
goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
setvar VAR_TEMP_0, 1
@@ -65,7 +65,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B30D:: @ 824B30D
case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B33F:: @ 824B33F
call BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8B4
call BattleFrontier_EventScript_SaveBattle
goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B349:: @ 824B349
@@ -99,8 +99,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB:: @ 824B3BB
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET
special CallFrontierUtilFunc
frontier_reset
end
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD:: @ 824B3DD
@@ -120,9 +119,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5:: @ 824B3F5
goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A:: @ 824B40A
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
frontier_get FRONTIER_DATA_BATTLE_NUM
switch VAR_RESULT
case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B449
case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B452
@@ -151,7 +148,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D
waitmessage
waitbuttonpress
fadescreen 1
call BattleFrontier_BattleDomePreBattleRoom_EventScript_23F2B7
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, 2
special sub_80F9490
@@ -184,9 +181,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D
end
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B4FB:: @ 824B4FB
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
frontier_get FRONTIER_DATA_BATTLE_NUM
switch VAR_RESULT
case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B53A
case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B540
@@ -240,7 +235,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7
setvar VAR_TEMP_0, 1
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B760, MSGBOX_DEFAULT
special LoadPlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
@@ -252,9 +247,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7
goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600:: @ 824B600
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
frontier_get FRONTIER_DATA_BATTLE_NUM
switch VAR_RESULT
case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B634
case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B63D
@@ -5,8 +5,7 @@ BattleFrontier_BattleFactoryBattleRoom_MapScripts:: @ 825ADAB
.byte 0
BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB: @ 825ADBB
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_FRONTIER_TRAINERS
special CallFrontierUtilFunc
frontier_settrainers
checkplayergender
compare VAR_RESULT, MALE
call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25
@@ -19,7 +18,7 @@ BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB: @ 825ADBB
end
BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3:: @ 825ADF3
call BattleFrontier_BattleFactoryBattleRoom_EventScript_242170
call BattleFrontier_EventScript_SetBrainObjectGfx
setobjectxyperm 2, 7, 9
end
@@ -85,7 +84,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7:: @ 825AEA7
waitmessage
closemessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
special HealPlayerParty
@@ -98,7 +97,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7:: @ 825AEA7
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8:: @ 825AEF8
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25AEF8:: @ 825AEF8
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190
@ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190
@@ -106,29 +105,26 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F:: @ 825AF0F
setvar VAR_0x8004, 1
setvar VAR_0x8005, 3
special CallBattleFactoryFunction
compare VAR_RESULT, 9999
compare VAR_RESULT, MAX_STREAK
goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
special CallBattleFactoryFunction
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E:: @ 825AF3E
call BattleFrontier_BattleFactoryBattleRoom_EventScript_241EBA
call BattleFrontier_EventScript_IncrementWinStreak
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43:: @ 825AF43
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
frontier_setbattlenum VAR_RESULT
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
case 7, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85
setvar VAR_0x8006, 1
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 8
waitstate
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85:: @ 825AF85
frontier_setchallengestatus CHALLENGE_STATUS_WON
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C:: @ 825AF9C
@@ -136,16 +132,11 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C:: @ 825AF9C
case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF:: @ 825AFEF
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1, MSGBOX_DEFAULT
call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0
@@ -154,8 +145,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF:: @ 825AFEF
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C:: @ 825B00C
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
frontier_getsymbols
compare VAR_RESULT, 0
goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B42D, MSGBOX_DEFAULT
@@ -166,22 +156,16 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C:: @ 825B00C
message BattleFrontier_BattleFactoryBattleRoom_Text_25B460
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B498, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051:: @ 825B051
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B517, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E:: @ 825B07E
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF, MSGBOX_DEFAULT
call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0
@@ -190,8 +174,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E:: @ 825B07E
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B:: @ 825B09B
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
frontier_getsymbols
compare VAR_RESULT, 2
goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7, MSGBOX_DEFAULT
@@ -202,15 +185,14 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B:: @ 825B09B
message BattleFrontier_BattleFactoryBattleRoom_Text_25B640
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B66D, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0:: @ 825B0E0
closemessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
special HealPlayerParty
@@ -224,7 +206,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105
setvar VAR_0x8004, 1
setvar VAR_0x8005, 3
special CallBattleFactoryFunction
compare VAR_RESULT, 9999
compare VAR_RESULT, MAX_STREAK
goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT
@@ -234,16 +216,14 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special CallBattleFactoryFunction
compare VAR_RESULT, 9999
compare VAR_RESULT, MAX_STREAK
goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special CallBattleFactoryFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85
end
@@ -280,7 +260,7 @@ BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B: @ 825B18B
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190:: @ 825B190
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190:: @ 825B190
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
compare VAR_RESULT, 1
compare VAR_RESULT, FRONTIER_MODE_DOUBLES
goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 4, 8
waitstate
@@ -14,14 +14,14 @@ BattleFrontier_BattleFactoryLobby_EventScript_2583FD:: @ 82583FD
BattleFrontier_BattleFactoryLobby_MapScript2_258407: @ 8258407
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryLobby_EventScript_258431
map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleFactoryLobby_EventScript_25843A
map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleFactoryLobby_EventScript_258592
map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleFactoryLobby_EventScript_25849B
map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleFactoryLobby_EventScript_258506
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleFactoryLobby_EventScript_25843A
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleFactoryLobby_EventScript_258592
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleFactoryLobby_EventScript_25849B
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleFactoryLobby_EventScript_258506
.2byte 0
BattleFrontier_BattleFactoryLobby_EventScript_258431:: @ 8258431
frontier_checkoutcome
frontier_getstatus
end
BattleFrontier_BattleFactoryLobby_EventScript_25843A:: @ 825843A
@@ -42,18 +42,14 @@ BattleFrontier_BattleFactoryLobby_EventScript_25843A:: @ 825843A
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
special CallBattleFactoryFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
BattleFrontier_BattleFactoryLobby_EventScript_25849B:: @ 825849B
lockall
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_IS_FRONTIER_BRAIN
special CallFrontierUtilFunc
frontier_isbrain
compare VAR_RESULT, TRUE
goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2584BD
msgbox BattleFrontier_BattleFactoryLobby_Text_258D93, MSGBOX_DEFAULT
@@ -66,13 +62,11 @@ BattleFrontier_BattleFactoryLobby_EventScript_2584BD:: @ 82584BD
BattleFrontier_BattleFactoryLobby_EventScript_2584C6:: @ 82584C6
msgbox BattleFrontier_BattleFactoryLobby_Text_2592BD, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_11
special CallFrontierUtilFunc
frontier_givepoints
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
message BattleFrontier_BattleFactoryLobby_Text_259323
waitmessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_8
special CallFrontierUtilFunc
frontier_checkairshow
special LoadPlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
@@ -86,8 +80,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_258506:: @ 8258506
lockall
message BattleFrontier_BattleFactoryLobby_Text_258CC7
waitmessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_8
special CallFrontierUtilFunc
frontier_checkairshow
special LoadPlayerParty
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
@@ -112,8 +105,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_25853B:: @ 825853B
case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_258582
BattleFrontier_BattleFactoryLobby_EventScript_25857D:: @ 825857D
call BattleFrontier_BattleFactoryLobby_EventScript_23E8B4
call BattleFrontier_EventScript_SaveBattle
BattleFrontier_BattleFactoryLobby_EventScript_258582:: @ 8258582
msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, MSGBOX_DEFAULT
closemessage
@@ -130,10 +122,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_258592:: @ 8258592
special CallBattleFactoryFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
setvar VAR_0x8006, 2
goto BattleFrontier_BattleFactoryLobby_EventScript_25871A
@@ -141,28 +130,28 @@ BattleFrontier_BattleFactoryLobby_EventScript_258592:: @ 8258592
BattleFrontier_BattleFactoryLobby_EventScript_2585CB:: @ 82585CB
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 4
setvar VAR_FRONTIER_BATTLE_MODE, 0
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_FACTORY
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED
end
BattleFrontier_BattleFactoryLobby_EventScript_2585DD:: @ 82585DD
setvar VAR_FRONTIER_FACILITY, 4
setvar VAR_FRONTIER_BATTLE_MODE, 1
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_FACTORY
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED
end
BattleFrontier_BattleFactoryLobby_EventScript_2585ED:: @ 82585ED
special SavePlayerParty
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587B1
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587BA
BattleFrontier_BattleFactoryLobby_EventScript_258606:: @ 8258606
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587C3
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587C9
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, 0
@@ -177,12 +166,9 @@ BattleFrontier_BattleFactoryLobby_EventScript_258653:: @ 8258653
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
case 2, BattleFrontier_BattleFactoryLobby_EventScript_25879D
case FRONTIER_LVL_TENT, BattleFrontier_BattleFactoryLobby_EventScript_25879D
case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_25879D
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleFactoryLobby_Text_258C27, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattleFactoryLobby_EventScript_25879A
@@ -193,18 +179,12 @@ BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 0
special CallBattleFactoryFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
special CallBattleFactoryFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
closemessage
delay 2
call Common_EventScript_SaveGame
@@ -217,9 +197,9 @@ BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A
special SavePlayerParty
msgbox BattleFrontier_BattleFactoryLobby_Text_258CB1, MSGBOX_DEFAULT
closemessage
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_25875C
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258762
applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_2587A7
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_2587AC
@@ -238,22 +218,18 @@ BattleFrontier_BattleFactoryLobby_EventScript_258762:: @ 8258762
return
BattleFrontier_BattleFactoryLobby_EventScript_258768:: @ 8258768
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587CF
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587D8
goto BattleFrontier_BattleFactoryLobby_EventScript_258606
BattleFrontier_BattleFactoryLobby_EventScript_258783:: @ 8258783
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
goto BattleFrontier_BattleFactoryLobby_EventScript_25879D
BattleFrontier_BattleFactoryLobby_EventScript_25879A:: @ 825879A
special LoadPlayerParty
BattleFrontier_BattleFactoryLobby_EventScript_25879D:: @ 825879D
msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, MSGBOX_DEFAULT
release
@@ -54,7 +54,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9:: @ 8259AF9
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74:: @ 8259B74
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB96, MSGBOX_DEFAULT
closemessage
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23F2B7
call BattleFrontier_EventScript_GetLvlMode
compare VAR_RESULT, 0
call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C
compare VAR_RESULT, 1
@@ -98,9 +98,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13:: @ 8259C13
goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26:: @ 8259C26
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 1
call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D
compare VAR_RESULT, 2
@@ -142,7 +140,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CFC:: @ 8259CFC
case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D2E:: @ 8259D2E
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8B4
call BattleFrontier_EventScript_SaveBattle
goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38:: @ 8259D38
@@ -229,8 +227,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47:: @ 8259E47
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET
special CallFrontierUtilFunc
frontier_reset
end
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69:: @ 8259E69
@@ -239,7 +236,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69:: @ 8259E69
setvar VAR_0x8005, 0
special CallBattleFactoryFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
special CalculatePlayerPartyCount
@@ -5,8 +5,7 @@ BattleFrontier_BattlePalaceBattleRoom_MapScripts:: @ 824F815
.byte 0
BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825: @ 824F825
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_FRONTIER_TRAINERS
special CallFrontierUtilFunc
frontier_settrainers
call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833
end
@@ -34,7 +33,7 @@ BattleFrontier_BattlePalaceBattleRoom_MapScript2_24F861: @ 824F861
BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B:: @ 824F86B
showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B
@@ -42,7 +41,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B:: @ 824F86B
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
setvar VAR_TEMP_2, 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
@@ -66,14 +65,14 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8BF:: @ 824F8BF
case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911
BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA:: @ 824F8FA
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB
BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911:: @ 824F911
call BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA
frontier_getbattlenum
call BattleFrontier_EventScript_IncrementWinStreak
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
frontier_setbattlenum VAR_RESULT
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
case 7, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA7
@@ -85,7 +84,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911:: @ 824F911
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_24FF00, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
@@ -95,7 +94,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A:: @ 824F98A
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 1
call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66
compare VAR_RESULT, 2
@@ -137,7 +136,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA78:: @ 824FA78
case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAAA:: @ 824FAAA
call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8B4
call BattleFrontier_EventScript_SaveBattle
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4:: @ 824FAB4
@@ -163,7 +162,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14:: @ 824FB14
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8BF
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28:: @ 824FB28
frontier_setchallengestatus CHALLENGE_STATUS_WON
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F:: @ 824FB3F
@@ -175,8 +174,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F:: @ 824FB3F
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET
special CallFrontierUtilFunc
frontier_reset
end
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61:: @ 824FB61
@@ -208,7 +206,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0:: @ 824FBD0
case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06:: @ 824FC06
call BattleFrontier_BattlePalaceBattleRoom_EventScript_242170
call BattleFrontier_EventScript_SetBrainObjectGfx
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25017C, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97
@@ -226,16 +224,11 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06:: @ 824FC06
case FRONTIER_BRAIN_GOLD, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2501C1, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA:: @ 824FCAA
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502C4, MSGBOX_DEFAULT
call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
@@ -246,8 +239,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA:: @ 824FCAA
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7
setvar VAR_0x8004, 6
special CallBattlePalaceFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
frontier_getsymbols
compare VAR_RESULT, 0
goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502FF, MSGBOX_DEFAULT
@@ -258,8 +250,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7
message BattleFrontier_BattlePalaceBattleRoom_Text_2503DC
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
applymovement 2, Common_Movement_WalkInPlaceLeft
waitmovement 0
applymovement 1, Common_Movement_WalkInPlaceFastestRight
@@ -269,16 +260,11 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A:: @ 824FD3A
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250485, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67:: @ 824FD67
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250572, MSGBOX_DEFAULT
call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
@@ -289,8 +275,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67:: @ 824FD67
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84
setvar VAR_0x8004, 6
special CallBattlePalaceFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
frontier_getsymbols
compare VAR_RESULT, 2
goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25057E, MSGBOX_DEFAULT
@@ -301,8 +286,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84
message BattleFrontier_BattlePalaceBattleRoom_Text_250699
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
applymovement 2, Common_Movement_WalkInPlaceLeft
waitmovement 0
applymovement 1, Common_Movement_WalkInPlaceFastestRight
@@ -316,7 +300,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7:: @ 824FDF7
closemessage
setvar VAR_TEMP_2, 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
special HealPlayerParty
@@ -324,8 +308,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7:: @ 824FDF7
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_18
special CallFrontierUtilFunc
frontier_restorehelditems
special HealPlayerParty
frontier_resetsketch
return
@@ -441,7 +424,7 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB6: @ 824FEB6
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB:: @ 824FEBB
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
compare VAR_RESULT, 1
compare VAR_RESULT, FRONTIER_MODE_DOUBLES
goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5
warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 5, 7
waitstate
@@ -25,10 +25,8 @@ BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3
compare VAR_RESULT, 4
call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF
closemessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 1
special CallFrontierUtilFunc
compare VAR_RESULT, 1
frontier_get FRONTIER_DATA_LVL_MODE
compare VAR_RESULT, FRONTIER_LVL_OPEN
goto_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F553
applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5BD
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5C4
@@ -14,14 +14,14 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D793:: @ 824D793
BattleFrontier_BattlePalaceLobby_MapScript2_24D79D: @ 824D79D
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D7C7
map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePalaceLobby_EventScript_24D7D0
map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattlePalaceLobby_EventScript_24D908
map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattlePalaceLobby_EventScript_24D817
map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattlePalaceLobby_EventScript_24D873
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePalaceLobby_EventScript_24D7D0
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePalaceLobby_EventScript_24D908
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePalaceLobby_EventScript_24D817
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePalaceLobby_EventScript_24D873
.2byte 0
BattleFrontier_BattlePalaceLobby_EventScript_24D7C7:: @ 824D7C7
frontier_checkoutcome
frontier_getstatus
end
BattleFrontier_BattlePalaceLobby_EventScript_24D7D0:: @ 824D7D0
@@ -36,18 +36,14 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D7D0:: @ 824D7D0
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
special CallBattlePalaceFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
BattleFrontier_BattlePalaceLobby_EventScript_24D817:: @ 824D817
lockall
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_IS_FRONTIER_BRAIN
special CallFrontierUtilFunc
frontier_isbrain
compare VAR_RESULT, TRUE
goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24D838
msgbox BattleFrontier_BattlePalaceLobby_Text_24E497, MSGBOX_DEFAULT
@@ -58,8 +54,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D838:: @ 824D838
BattleFrontier_BattlePalaceLobby_EventScript_24D840:: @ 824D840
msgbox BattleFrontier_BattlePalaceLobby_Text_24EEB9, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_11
special CallFrontierUtilFunc
frontier_givepoints
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
message BattleFrontier_BattlePalaceLobby_Text_24E4F7
waitmessage
@@ -86,8 +81,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D873:: @ 824D873
end
BattleFrontier_BattlePalaceLobby_EventScript_24D8A1:: @ 824D8A1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_8
special CallFrontierUtilFunc
frontier_checkairshow
special LoadPlayerParty
special HealPlayerParty
setvar VAR_0x8004, 7
@@ -107,8 +101,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D8A1:: @ 824D8A1
case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_24D907
BattleFrontier_BattlePalaceLobby_EventScript_24D902:: @ 824D902
call BattleFrontier_BattlePalaceLobby_EventScript_23E8B4
call BattleFrontier_EventScript_SaveBattle
BattleFrontier_BattlePalaceLobby_EventScript_24D907:: @ 824D907
return
@@ -122,26 +115,23 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D908:: @ 824D908
special CallBattlePalaceFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
goto BattleFrontier_BattlePalaceLobby_EventScript_24DAF3
BattleFrontier_BattlePalaceLobby_EventScript_24D944:: @ 824D944
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 2
setvar VAR_FRONTIER_BATTLE_MODE, 0
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PALACE
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
goto BattleFrontier_BattlePalaceLobby_EventScript_24D968
end
BattleFrontier_BattlePalaceLobby_EventScript_24D956:: @ 824D956
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 2
setvar VAR_FRONTIER_BATTLE_MODE, 1
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PALACE
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
goto BattleFrontier_BattlePalaceLobby_EventScript_24D968
end
@@ -152,15 +142,15 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968
compare VAR_RESULT, 0
goto_if_ne BattleFrontier_BattlePalaceLobby_EventScript_24D817
special SavePlayerParty
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB9E
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBA7
BattleFrontier_BattlePalaceLobby_EventScript_24D999:: @ 824D999
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBB0
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBB6
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, 0
@@ -175,19 +165,15 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
case 2, BattleFrontier_BattlePalaceLobby_EventScript_24DB94
case FRONTIER_LVL_TENT, BattleFrontier_BattlePalaceLobby_EventScript_24DB94
case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_24DB94
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
frontier_checkineligible
compare VAR_0x8004, TRUE
goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB45
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattlePalaceLobby_Text_24E399, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattlePalaceLobby_EventScript_23F2B7
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, 3
special sub_80F9490
@@ -202,23 +188,15 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6
BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_0x8004, 0
special CallBattlePalaceFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
special CallBattlePalaceFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
@@ -229,7 +207,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87
BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3
special SavePlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox BattleFrontier_BattlePalaceLobby_Text_24E408, MSGBOX_DEFAULT
closemessage
call BattleFrontier_BattlePalaceLobby_EventScript_24DBBC
@@ -239,7 +217,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3
end
BattleFrontier_BattlePalaceLobby_EventScript_24DB20:: @ 824DB20
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB38
msgbox BattleFrontier_BattlePalaceLobby_Text_24DE17, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24D999
@@ -250,8 +228,8 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DB38:: @ 824DB38
BattleFrontier_BattlePalaceLobby_EventScript_24DB45:: @ 824DB45
switch VAR_RESULT
case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DB60
case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB6D
case FRONTIER_LVL_50, BattleFrontier_BattlePalaceLobby_EventScript_24DB60
case FRONTIER_LVL_OPEN, BattleFrontier_BattlePalaceLobby_EventScript_24DB6D
BattleFrontier_BattlePalaceLobby_EventScript_24DB60:: @ 824DB60
msgbox BattleFrontier_BattlePalaceLobby_Text_24E173, MSGBOX_DEFAULT
@@ -262,10 +240,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DB6D:: @ 824DB6D
goto BattleFrontier_BattlePalaceLobby_EventScript_24DB9C
BattleFrontier_BattlePalaceLobby_EventScript_24DB7A:: @ 824DB7A
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
goto BattleFrontier_BattlePalaceLobby_EventScript_24DB94
BattleFrontier_BattlePalaceLobby_EventScript_24DB91:: @ 824DB91
@@ -295,24 +270,24 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DBB6:: @ 824DBB6
return
BattleFrontier_BattlePalaceLobby_EventScript_24DBBC:: @ 824DBBC
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC23
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC29
applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC47
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_24DC47
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC2F
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC35
waitdooranim
applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC49
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_24DC4C
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC3B
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC41
waitdooranim
return
@@ -9,10 +9,7 @@ BattleFrontier_BattlePikeCorridor_MapScript2_25C77C: @ 825C77C
BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786
delay 16
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_BATTLE_NUM, 1
setvar VAR_0x8004, BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS
special CallBattlePikeFunction
battlepike_nohealing TRUE
@@ -25,10 +22,7 @@ BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786
releaseall
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80E
waitmovement 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 99
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 99
call BattleFrontier_BattlePike_EventScript_CloseCurtain
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10
waitstate
@@ -5,9 +5,9 @@ BattleFrontier_BattlePikeLobby_MapScripts:: @ 825B6C6
BattleFrontier_BattlePikeLobby_MapScript2_25B6D1: @ 825B6D1
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeLobby_EventScript_25B707
map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePikeLobby_EventScript_25B710
map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattlePikeLobby_EventScript_25B762
map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattlePikeLobby_EventScript_25B806
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeLobby_EventScript_25B710
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePikeLobby_EventScript_25B762
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePikeLobby_EventScript_25B806
.2byte 0
BattleFrontier_BattlePikeLobby_MapScript2_25B6F3: @ 825B6F3
@@ -20,7 +20,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B6FD:: @ 825B6FD
end
BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707
frontier_checkoutcome
frontier_getstatus
end
BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710
@@ -35,18 +35,14 @@ BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710
setvar VAR_0x8005, 4
setvar VAR_0x8006, 0
special CallBattlePikeFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
BattleFrontier_BattlePikeLobby_EventScript_25B762:: @ 825B762
lockall
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_IS_FRONTIER_BRAIN
special CallFrontierUtilFunc
frontier_isbrain
compare VAR_RESULT, TRUE
goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25B784
msgbox BattleFrontier_BattlePikeLobby_Text_25C18A, MSGBOX_DEFAULT
@@ -59,11 +55,9 @@ BattleFrontier_BattlePikeLobby_EventScript_25B784:: @ 825B784
BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D
msgbox BattleFrontier_BattlePikeLobby_Text_25C3D9, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_11
special CallFrontierUtilFunc
frontier_givepoints
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_8
special CallFrontierUtilFunc
frontier_checkairshow
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA
setvar VAR_0x8005, 3
special CallBattlePikeFunction
@@ -93,12 +87,8 @@ BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806
lockall
message BattleFrontier_BattlePikeLobby_Text_25C146
waitmessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_8
special CallFrontierUtilFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_checkairshow
frontier_set FRONTIER_DATA_BATTLE_NUM, 0
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
setvar VAR_0x8005, 4
setvar VAR_0x8006, 0
@@ -121,8 +111,8 @@ BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806
BattleFrontier_BattlePikeLobby_EventScript_25B868:: @ 825B868
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 5
setvar VAR_FRONTIER_BATTLE_MODE, 0
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PIKE
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
special SavePlayerParty
msgbox BattleFrontier_BattlePikeLobby_Text_25BB52, MSGBOX_DEFAULT
@@ -141,19 +131,15 @@ BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
case 2, BattleFrontier_BattlePikeLobby_EventScript_25BA76
case FRONTIER_LVL_TENT, BattleFrontier_BattlePikeLobby_EventScript_25BA76
case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_25BA76
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
frontier_checkineligible
compare VAR_0x8004, TRUE
goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA27
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattlePikeLobby_Text_25C094, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattlePikeLobby_EventScript_23F2B7
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, 3
special sub_80F9490
@@ -169,25 +155,17 @@ BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB
BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
setvar VAR_TEMP_0, 0
setvar VAR_TEMP_1, 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_0x8004, BATTLE_PIKE_FUNC_INIT_CHALLENGE
special CallBattlePikeFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
setvar VAR_0x8005, 4
setvar VAR_0x8006, 1
special CallBattlePikeFunction
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE_MON_HELD_ITEMS
special CallBattlePikeFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
@@ -198,11 +176,10 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
compare VAR_RESULT, 0
goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C
special SavePlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox BattleFrontier_BattlePikeLobby_Text_25C130, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_FRONTIER_TRAINERS
special CallFrontierUtilFunc
frontier_settrainers
call BattleFrontier_BattlePikeLobby_EventScript_25BA94
special HealPlayerParty
call BattleFrontier_BattlePike_EventScript_CloseCurtain
@@ -217,8 +194,8 @@ BattleFrontier_BattlePikeLobby_EventScript_25BA1A:: @ 825BA1A
BattleFrontier_BattlePikeLobby_EventScript_25BA27:: @ 825BA27
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeLobby_EventScript_25BA42
case 1, BattleFrontier_BattlePikeLobby_EventScript_25BA4F
case FRONTIER_LVL_50, BattleFrontier_BattlePikeLobby_EventScript_25BA42
case FRONTIER_LVL_OPEN, BattleFrontier_BattlePikeLobby_EventScript_25BA4F
BattleFrontier_BattlePikeLobby_EventScript_25BA42:: @ 825BA42
msgbox BattleFrontier_BattlePikeLobby_Text_25BE8C, MSGBOX_DEFAULT
@@ -229,18 +206,13 @@ BattleFrontier_BattlePikeLobby_EventScript_25BA4F:: @ 825BA4F
goto BattleFrontier_BattlePikeLobby_EventScript_25BA7E
BattleFrontier_BattlePikeLobby_EventScript_25BA5C:: @ 825BA5C
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
goto BattleFrontier_BattlePikeLobby_EventScript_25BA76
BattleFrontier_BattlePikeLobby_EventScript_25BA73:: @ 825BA73
special LoadPlayerParty
BattleFrontier_BattlePikeLobby_EventScript_25BA76:: @ 825BA76
msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, MSGBOX_DEFAULT
BattleFrontier_BattlePikeLobby_EventScript_25BA7E:: @ 825BA7E
release
end
@@ -11,7 +11,7 @@ BattleFrontier_BattlePikeRoomFinal_EventScript_25E3A7:: @ 825E3A7
delay 16
applymovement 1, BattleFrontier_BattlePikeRoomFinal_Movement_25E3DB
waitmovement 0
frontier_setchallengestatus CHALLENGE_STATUS_WON
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
lockall
msgbox BattleFrontier_BattlePikeRoomFinal_Text_CongratsThisWayPlease, MSGBOX_DEFAULT
closemessage
@@ -41,7 +41,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D1C6:: @ 825D1C6
case 1, BattleFrontier_BattlePikeRoomNormal_EventScript_25D226
BattleFrontier_BattlePikeRoomNormal_EventScript_25D20A:: @ 825D20A
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
waitstate
end
@@ -138,16 +138,11 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D2FB:: @ 825D2FB
case 2, BattleFrontier_BattlePikeRoomNormal_EventScript_25D416
case 3, BattleFrontier_BattlePikeRoomNormal_EventScript_25D3BD
case 4, BattleFrontier_BattlePikeRoomNormal_EventScript_25D443
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_25D3BD
msgbox BattleFrontier_BattlePikeRoomNormal_Text_25DED2, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattlePikeRoomNormal_EventScript_25D3BD:: @ 825D3BD
msgbox BattleFrontier_BattlePikeRoomNormal_Text_25DF71, MSGBOX_DEFAULT
call BattleFrontier_BattlePikeRoomNormal_EventScript_25D77B
@@ -156,8 +151,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D3BD:: @ 825D3BD
goto BattleFrontier_BattlePikeRoomNormal_EventScript_25D20A
BattleFrontier_BattlePikeRoomNormal_EventScript_25D3DA:: @ 825D3DA
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
frontier_getsymbols
compare VAR_RESULT, 0
goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_25D49D
msgbox BattleFrontier_BattlePikeRoomNormal_Text_25DFA2, MSGBOX_DEFAULT
@@ -166,23 +160,17 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D3DA:: @ 825D3DA
message BattleFrontier_BattlePikeRoomNormal_Text_25DFD0
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
msgbox BattleFrontier_BattlePikeRoomNormal_Text_25E003, MSGBOX_DEFAULT
closemessage
goto BattleFrontier_BattlePikeRoomNormal_EventScript_25D49D
BattleFrontier_BattlePikeRoomNormal_EventScript_25D416:: @ 825D416
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_25D443
msgbox BattleFrontier_BattlePikeRoomNormal_Text_25E02C, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattlePikeRoomNormal_EventScript_25D443:: @ 825D443
msgbox BattleFrontier_BattlePikeRoomNormal_Text_25E0E8, MSGBOX_DEFAULT
call BattleFrontier_BattlePikeRoomNormal_EventScript_25D77B
@@ -191,8 +179,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D443:: @ 825D443
goto BattleFrontier_BattlePikeRoomNormal_EventScript_25D20A
BattleFrontier_BattlePikeRoomNormal_EventScript_25D460:: @ 825D460
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
frontier_getsymbols
compare VAR_RESULT, 2
goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_25D49D
msgbox BattleFrontier_BattlePikeRoomNormal_Text_25E0F6, MSGBOX_DEFAULT
@@ -201,8 +188,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D460:: @ 825D460
message BattleFrontier_BattlePikeRoomNormal_Text_25E118
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
msgbox BattleFrontier_BattlePikeRoomNormal_Text_25E140, MSGBOX_DEFAULT
closemessage
goto BattleFrontier_BattlePikeRoomNormal_EventScript_25D49D
@@ -16,7 +16,7 @@ BattleFrontier_BattlePikeRoomWildMons_EventScript_25E43C:: @ 825E43C
end
BattleFrontier_BattlePikeRoomWildMons_EventScript_25E44A:: @ 825E44A
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
waitstate
end
@@ -32,7 +32,7 @@ BattleFrontier_BattlePikeRoomWildMons_EventScript_25E470:: @ 825E470
BattleFrontier_BattlePikeRoomWildMons_MapScript1_25E47A: @ 825E47A
call BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves
frontier_getbattleoutcome
frontier_get FRONTIER_DATA_BATTLE_OUTCOME
compare VAR_RESULT, B_OUTCOME_LOST
goto_if_eq BattleFrontier_BattlePikeRoomWildMons_EventScript_25E4A3
compare VAR_RESULT, B_OUTCOME_DREW
@@ -5,9 +5,9 @@ BattleFrontier_BattlePikeThreePathRoom_MapScripts:: @ 825C843
.byte 0
BattleFrontier_BattlePikeThreePathRoom_OnFrame: @ 825C853
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_CheckChallengeOutcome
map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpToLobby
map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_CheckChallengeStatus
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpToLobby
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4
map_script_2 VAR_TEMP_5, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78
map_script_2 VAR_TEMP_5, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97
.2byte 0
@@ -21,8 +21,8 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887:: @ 825C887
turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_CheckChallengeOutcome:: @ 825C891
frontier_checkoutcome
BattleFrontier_BattlePikeThreePathRoom_EventScript_CheckChallengeStatus:: @ 825C891
frontier_getstatus
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpToLobby:: @ 825C89A
@@ -39,28 +39,19 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4:: @ 825C8A4
special CallBattlePikeFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
special SavePlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox BattleFrontier_BattlePikeThreePathRoom_Text_PleaseEnjoyChallenge, MSGBOX_DEFAULT
closemessage
releaseall
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_FRONTIER_TRAINERS
special CallFrontierUtilFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 99
special CallFrontierUtilFunc
frontier_settrainers
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 99
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C908:: @ 825C908
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
frontier_get FRONTIER_DATA_BATTLE_NUM @ Room number
switch VAR_RESULT
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C968
case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C978
@@ -129,8 +120,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8:: @ 825C9D8
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD:: @ 825C9FD
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_6
special CallFrontierUtilFunc
frontier_saveparty
message BattleFrontier_BattlePikeThreePathRoom_Text_SavingYourData
waitmessage
special LoadPlayerParty
@@ -140,8 +130,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD:: @ 825C9FD
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET
special CallFrontierUtilFunc
frontier_reset
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A:: @ 825CA2A
@@ -17,7 +17,6 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D:: @ 8252A5D
setvar VAR_0x8006, 1
setvar VAR_0x8007, 55
setvar VAR_RESULT, 0
BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77:: @ 8252A77
special CallBattlePyramidFunction
delay 2
@@ -40,12 +39,12 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98:: @ 8252A98
BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE
special CallBattlePyramidFunction
frontier_checkoutcome
frontier_getstatus
switch VAR_TEMP_0
case 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D
case 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66
case 2, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D
frontier_getbattleoutcome
case CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66
case CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D
frontier_get FRONTIER_DATA_BATTLE_OUTCOME
compare VAR_RESULT, B_OUTCOME_RAN
goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
@@ -58,9 +57,7 @@ BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2
goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
compare VAR_RESULT, B_OUTCOME_FORFEITED
goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_BATTLE_TYPE
setvar VAR_0x8005, BATTLE_TYPE_TRAINER
special CallFrontierUtilFunc
frontier_isbattletype BATTLE_TYPE_TRAINER @ VAR_RESULT seems to be ignored here
setvar VAR_TEMP_D, 1
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39:: @ 8252B39
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_RESTORE_PARTY
@@ -69,7 +66,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39:: @ 8252B39
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42:: @ 8252B42
BattleFrontier_BattlePyramidTop_EventScript_252B42:: @ 8252B42
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_DATA
setvar VAR_0x8005, 7
setvar VAR_0x8006, 255
@@ -93,13 +90,10 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D:: @ 8252B8D
setvar VAR_0x8005, 1
special CallBattlePyramidFunction
special SavePlayerParty
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_INIT_TRAINERS
special CallBattlePyramidFunction
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
setvar VAR_TEMP_F, 1
end
@@ -116,18 +110,15 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5:: @ 8252BD5
return
BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8:: @ 8252BE8
call BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA
frontier_getbattlenum
call BattleFrontier_EventScript_IncrementWinStreak
frontier_get FRONTIER_DATA_BATTLE_NUM @ Floor number
addvar VAR_RESULT, 1
frontier_setbattlenum VAR_RESULT
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
compare VAR_RESULT, 7
goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SEED_FLOOR
special CallBattlePyramidFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_RESULT, 0
warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1
waitstate
@@ -14,14 +14,14 @@ BattleFrontier_BattlePyramidLobby_EventScript_25072B: @ 825072B
BattleFrontier_BattlePyramidLobby_MapScript2_250735: @ 8250735
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePyramidLobby_EventScript_25075F
map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePyramidLobby_EventScript_250768
map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattlePyramidLobby_EventScript_2508AC
map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattlePyramidLobby_EventScript_2507B1
map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattlePyramidLobby_EventScript_250852
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramidLobby_EventScript_250768
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidLobby_EventScript_2508AC
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePyramidLobby_EventScript_2507B1
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePyramidLobby_EventScript_250852
.2byte 0
BattleFrontier_BattlePyramidLobby_EventScript_25075F:: @ 825075F
frontier_checkoutcome
frontier_getstatus
end
BattleFrontier_BattlePyramidLobby_EventScript_250768:: @ 8250768
@@ -39,18 +39,14 @@ BattleFrontier_BattlePyramidLobby_EventScript_250768:: @ 8250768
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
special CallBattlePyramidFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
BattleFrontier_BattlePyramidLobby_EventScript_2507B1:: @ 82507B1
lockall
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_IS_FRONTIER_BRAIN
special CallFrontierUtilFunc
frontier_isbrain
compare VAR_RESULT, TRUE
goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_2507D2
msgbox BattleFrontier_BattlePyramidLobby_Text_2517B5, MSGBOX_DEFAULT
@@ -58,14 +54,12 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507B1:: @ 82507B1
BattleFrontier_BattlePyramidLobby_EventScript_2507D2:: @ 82507D2
msgbox BattleFrontier_BattlePyramidLobby_Text_2525F4, MSGBOX_DEFAULT
BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
special DoBattlePyramidMonsHaveHeldItem
compare VAR_RESULT, TRUE
call_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250DDB
clearflag FLAG_STORING_ITEMS_IN_PYRAMID_BAG
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_8
special CallFrontierUtilFunc
frontier_checkairshow
special LoadPlayerParty
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS
special CallBattlePyramidFunction
@@ -75,8 +69,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
playse SE_EXPMAX
waitse
msgbox BattleFrontier_BattlePyramidLobby_Text_252662, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_11
special CallFrontierUtilFunc
frontier_givepoints
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
message BattleFrontier_BattlePyramidLobby_Text_251A77
waitmessage
@@ -94,8 +87,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
end
BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_8
special CallFrontierUtilFunc
frontier_checkairshow
special LoadPlayerParty
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS
special CallBattlePyramidFunction
@@ -128,8 +120,8 @@ BattleFrontier_BattlePyramidLobby_EventScript_2508AC:: @ 82508AC
BattleFrontier_BattlePyramidLobby_EventScript_2508B1:: @ 82508B1
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 6
setvar VAR_FRONTIER_BATTLE_MODE, 0
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PYRAMID
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
special SavePlayerParty
msgbox BattleFrontier_BattlePyramidLobby_Text_250F31, MSGBOX_DEFAULT
@@ -150,17 +142,13 @@ BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904
switch VAR_RESULT
case 2, BattleFrontier_BattlePyramidLobby_EventScript_250AC4
case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_250AC4
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
frontier_checkineligible
compare VAR_0x8004, TRUE
goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250A75
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattlePyramidLobby_Text_251297, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattlePyramidLobby_EventScript_23F2B7
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, 3
special sub_80F9490
@@ -175,23 +163,15 @@ BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904
BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_INIT_CHALLENGE
special CallBattlePyramidFunction
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_DATA
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
special CallBattlePyramidFunction
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SEED_FLOOR
special CallBattlePyramidFunction
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_INIT_TRAINERS
@@ -206,14 +186,11 @@ BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5
BattleFrontier_BattlePyramidLobby_EventScript_250A21:: @ 8250A21
special SavePlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox BattleFrontier_BattlePyramidLobby_Text_251531, MSGBOX_DEFAULT
closemessage
call BattleFrontier_BattlePyramidLobby_EventScript_250D56
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_RESULT, 0
special HealPlayerParty
warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1
@@ -227,8 +204,8 @@ BattleFrontier_BattlePyramidLobby_EventScript_250A68:: @ 8250A68
BattleFrontier_BattlePyramidLobby_EventScript_250A75:: @ 8250A75
switch VAR_RESULT
case 0, BattleFrontier_BattlePyramidLobby_EventScript_250A90
case 1, BattleFrontier_BattlePyramidLobby_EventScript_250A9D
case FRONTIER_LVL_50, BattleFrontier_BattlePyramidLobby_EventScript_250A90
case FRONTIER_LVL_OPEN, BattleFrontier_BattlePyramidLobby_EventScript_250A9D
BattleFrontier_BattlePyramidLobby_EventScript_250A90:: @ 8250A90
msgbox BattleFrontier_BattlePyramidLobby_Text_2513C1, MSGBOX_DEFAULT
@@ -239,18 +216,13 @@ BattleFrontier_BattlePyramidLobby_EventScript_250A9D:: @ 8250A9D
goto BattleFrontier_BattlePyramidLobby_EventScript_250ACC
BattleFrontier_BattlePyramidLobby_EventScript_250AAA:: @ 8250AAA
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
goto BattleFrontier_BattlePyramidLobby_EventScript_250AC4
BattleFrontier_BattlePyramidLobby_EventScript_250AC1:: @ 8250AC1
special LoadPlayerParty
BattleFrontier_BattlePyramidLobby_EventScript_250AC4:: @ 8250AC4
msgbox BattleFrontier_BattlePyramidLobby_Text_250FE5, MSGBOX_DEFAULT
BattleFrontier_BattlePyramidLobby_EventScript_250ACC:: @ 8250ACC
release
end
@@ -442,7 +414,6 @@ BattleFrontier_BattlePyramidLobby_EventScript_250D56:: @ 8250D56
BattleFrontier_BattlePyramidLobby_EventScript_250D94:: @ 8250D94
msgbox BattleFrontier_BattlePyramidLobby_Text_2515F4, MSGBOX_DEFAULT
BattleFrontier_BattlePyramidLobby_EventScript_250D9C:: @ 8250D9C
message BattleFrontier_BattlePyramidLobby_Text_25161E
waitmessage
@@ -31,15 +31,15 @@ BattleFrontier_BattlePyramidTop_MapScript1_2550F4: @ 82550F4
frontier_getbrainstatus
compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_25510C
call BattleFrontier_BattlePyramidTop_EventScript_242170
call BattleFrontier_EventScript_SetBrainObjectGfx
BattleFrontier_BattlePyramidTop_EventScript_25510C:: @ 825510C
copyvar VAR_TEMP_C, VAR_RESULT
frontier_checkoutcome
frontier_getstatus
switch VAR_TEMP_0
case 0, BattleFrontier_BattlePyramidTop_EventScript_255193
case 1, BattleFrontier_BattlePyramidTop_EventScript_252B66
case 2, BattleFrontier_BattlePyramidTop_EventScript_255193
frontier_getbattleoutcome
case CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramidTop_EventScript_252B66
case CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidTop_EventScript_255193
frontier_get FRONTIER_DATA_BATTLE_OUTCOME
compare VAR_RESULT, B_OUTCOME_LOST
goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
compare VAR_RESULT, B_OUTCOME_DREW
@@ -68,13 +68,10 @@ BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193
setvar VAR_0x8005, 1
special CallBattlePyramidFunction
special SavePlayerParty
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_INIT_TRAINERS
special CallBattlePyramidFunction
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
setvar VAR_TEMP_F, 1
end
@@ -100,7 +97,7 @@ BattleFrontier_BattlePyramidTop_EventScript_2551D0:: @ 82551D0
closemessage
BattleFrontier_BattlePyramidTop_EventScript_25521A:: @ 825521A
frontier_setchallengestatus CHALLENGE_STATUS_WON
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
waitstate
end
@@ -123,19 +120,15 @@ BattleFrontier_BattlePyramidTop_EventScript_255256:: @ 8255256
case FRONTIER_BRAIN_GOLD, BattleFrontier_BattlePyramidTop_EventScript_255335
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattlePyramidTop_EventScript_2552D0
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattlePyramidTop_EventScript_255388
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_2552D0
special SpawnCameraObject
applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_25540C
waitmovement 0
msgbox BattleFrontier_BattlePyramidTop_Text_255669, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A
waitmovement 0
msgbox BattleFrontier_BattlePyramidTop_Text_25573E, MSGBOX_DEFAULT
@@ -155,8 +148,7 @@ BattleFrontier_BattlePyramidTop_EventScript_2552DA:: @ 82552DA
goto BattleFrontier_BattlePyramidTop_EventScript_252B42
BattleFrontier_BattlePyramidTop_EventScript_2552FB:: @ 82552FB
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
frontier_getsymbols
compare VAR_RESULT, 0
goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_25521A
msgbox BattleFrontier_BattlePyramidTop_Text_255873, MSGBOX_DEFAULT
@@ -164,25 +156,20 @@ BattleFrontier_BattlePyramidTop_EventScript_2552FB:: @ 82552FB
message BattleFrontier_BattlePyramidTop_Text_2558E9
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
msgbox BattleFrontier_BattlePyramidTop_Text_25591D, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidTop_EventScript_25521A
BattleFrontier_BattlePyramidTop_EventScript_255335:: @ 8255335
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255388
special SpawnCameraObject
applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_25540C
waitmovement 0
msgbox BattleFrontier_BattlePyramidTop_Text_255951, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A
waitmovement 0
msgbox BattleFrontier_BattlePyramidTop_Text_255A6D, MSGBOX_DEFAULT
@@ -202,8 +189,7 @@ BattleFrontier_BattlePyramidTop_EventScript_255392:: @ 8255392
goto BattleFrontier_BattlePyramidTop_EventScript_252B42
BattleFrontier_BattlePyramidTop_EventScript_2553B3:: @ 82553B3
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
frontier_getsymbols
compare VAR_RESULT, 2
goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_25521A
msgbox BattleFrontier_BattlePyramidTop_Text_255ACD, MSGBOX_DEFAULT
@@ -211,8 +197,7 @@ BattleFrontier_BattlePyramidTop_EventScript_2553B3:: @ 82553B3
message BattleFrontier_BattlePyramidTop_Text_255B59
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
msgbox BattleFrontier_BattlePyramidTop_Text_255B82, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidTop_EventScript_25521A
@@ -20,9 +20,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C
setvar VAR_TEMP_0, 1
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242179
waitmovement 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3
applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D
@@ -31,7 +29,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C
waitmovement 0
setvar VAR_TEMP_2, 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
@@ -52,7 +50,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3:: @ 8241BC3
case B_OUTCOME_WON, BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F
BattleFrontier_BattleTowerBattleRoom_EventScript_241C03:: @ 8241C03
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03:: @ 8241C03
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
setvar VAR_0x8004, BATTLE_TOWER_FUNC_2
setvar VAR_0x8005, 3
special CallBattleTowerFunc
@@ -61,7 +59,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03:: @ 8241C03
goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8
BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F
call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA
call BattleFrontier_EventScript_IncrementWinStreak
setvar VAR_0x8004, BATTLE_TOWER_FUNC_4
special CallBattleTowerFunc
switch VAR_RESULT
@@ -86,9 +84,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F:: @ 8241C8F
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
frontier_get FRONTIER_DATA_BATTLE_NUM
call BattleFrontier_BattleTowerBattleRoom_EventScript_241E44
call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0
compare VAR_RESULT, 1
@@ -119,7 +115,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241D40:: @ 8241D40
case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
BattleFrontier_BattleTowerBattleRoom_EventScript_241D72:: @ 8241D72
call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8B4
call BattleFrontier_EventScript_SaveBattle
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C:: @ 8241D7C
@@ -147,7 +143,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC:: @ 8241DDC
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3
BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6:: @ 8241DF6
frontier_setchallengestatus CHALLENGE_STATUS_WON
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
setvar VAR_0x8004, BATTLE_TOWER_FUNC_2
setvar VAR_0x8005, 3
special CallBattleTowerFunc
@@ -159,13 +155,12 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241E22:: @ 8241E22
message BattleFrontier_BattleTowerBattleRoom_Text_242426
waitmessage
setvar VAR_0x8004, BATTLE_TOWER_FUNC_SAVE
setvar VAR_0x8005, 2
setvar VAR_0x8005, CHALLENGE_STATUS_PAUSED
special CallBattleTowerFunc
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET
special CallFrontierUtilFunc
frontier_reset
end
BattleFrontier_BattleTowerBattleRoom_EventScript_241E44:: @ 8241E44
@@ -208,14 +203,8 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241EB3:: @ 8241EB3
waitmessage
return
BattleFrontier_BattleArenaBattleRoom_EventScript_241EBA:: @ 8241EBA
BattleFrontier_BattleDomeLobby_EventScript_241EBA:: @ 8241EBA
BattleFrontier_BattleFactoryBattleRoom_EventScript_241EBA:: @ 8241EBA
BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA:: @ 8241EBA
BattleFrontier_BattleTowerBattleRoom2_EventScript_241EBA:: @ 8241EBA
BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA:: @ 8241EBA
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_17
special CallFrontierUtilFunc
BattleFrontier_EventScript_IncrementWinStreak:: @ 8241EBA
frontier_incrementstreak
return
BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3:: @ 8241EC3
@@ -264,7 +253,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241F79:: @ 8241F79
case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_241F22
BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF
call BattleFrontier_BattleTowerBattleRoom_EventScript_242170
call BattleFrontier_EventScript_SetBrainObjectGfx
closemessage
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242180
waitmovement 0
@@ -277,16 +266,11 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF
case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleTowerBattleRoom_EventScript_242085
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleTowerBattleRoom_EventScript_242029
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_242029
msgbox BattleFrontier_BattleTowerBattleRoom_Text_242579, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleTowerBattleRoom_EventScript_242029:: @ 8242029
msgbox BattleFrontier_BattleTowerBattleRoom_Text_24268C, MSGBOX_DEFAULT
call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
@@ -295,9 +279,8 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_242029:: @ 8242029
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03
BattleFrontier_BattleTowerBattleRoom_EventScript_242046:: @ 8242046
call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
call BattleFrontier_EventScript_IncrementWinStreak
frontier_getsymbols
compare VAR_RESULT, 0
goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
msgbox BattleFrontier_BattleTowerBattleRoom_Text_2426B4, MSGBOX_DEFAULT
@@ -305,22 +288,16 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_242046:: @ 8242046
message BattleFrontier_BattleTowerBattleRoom_Text_24270E
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
msgbox BattleFrontier_BattleTowerBattleRoom_Text_242744, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
BattleFrontier_BattleTowerBattleRoom_EventScript_242085:: @ 8242085
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
compare VAR_RESULT, FALSE
goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2
msgbox BattleFrontier_BattleTowerBattleRoom_Text_2427F9, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2:: @ 82420B2
msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428E0, MSGBOX_DEFAULT
call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
@@ -329,9 +306,8 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2:: @ 82420B2
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03
BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF:: @ 82420CF
call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
special CallFrontierUtilFunc
call BattleFrontier_EventScript_IncrementWinStreak
frontier_getsymbols
compare VAR_RESULT, 2
goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428F7, MSGBOX_DEFAULT
@@ -339,8 +315,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF:: @ 82420CF
message BattleFrontier_BattleTowerBattleRoom_Text_242932
waitmessage
waitfanfare
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
special CallFrontierUtilFunc
frontier_givesymbol
msgbox BattleFrontier_BattleTowerBattleRoom_Text_24295D, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
@@ -349,7 +324,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E
closemessage
setvar VAR_TEMP_2, 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
special HealPlayerParty
@@ -358,26 +333,19 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E
special DoSpecialTrainerBattle
waitstate
copyvar VAR_0x8004, VAR_FRONTIER_BATTLE_MODE
compare VAR_0x8004, 3
compare VAR_0x8004, FRONTIER_MODE_LINK_MULTIS
goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_18
special CallFrontierUtilFunc
frontier_restorehelditems
special HealPlayerParty
frontier_resetsketch
BattleFrontier_BattleTowerBattleRoom_EventScript_24215A:: @ 824215A
setvar VAR_0x8004, BATTLE_TOWER_FUNC_15
special CallBattleTowerFunc
frontier_getbattleoutcome
frontier_get FRONTIER_DATA_BATTLE_OUTCOME
return
BattleFrontier_BattleArenaBattleRoom_EventScript_242170:: @ 8242170
BattleFrontier_BattleDomeBattleRoom_EventScript_242170:: @ 8242170
BattleFrontier_BattleFactoryBattleRoom_EventScript_242170:: @ 8242170
BattleFrontier_BattlePalaceBattleRoom_EventScript_242170:: @ 8242170
BattleFrontier_BattlePyramidTop_EventScript_242170:: @ 8242170
BattleFrontier_BattleTowerBattleRoom_EventScript_242170:: @ 8242170
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT
special CallFrontierUtilFunc
BattleFrontier_EventScript_SetBrainObjectGfx:: @ 8242170
frontier_setbrainobj
return
BattleFrontier_BattleTowerBattleRoom_Movement_242179: @ 8242179
@@ -472,11 +440,11 @@ BattleFrontier_BattleTowerBattleRoom_Movement_2421B2: @ 82421B2
BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8:: @ 82421B8
BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8:: @ 82421B8
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
compare VAR_RESULT, 1
compare VAR_RESULT, FRONTIER_MODE_DOUBLES
goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8
compare VAR_RESULT, 2
compare VAR_RESULT, FRONTIER_MODE_MULTIS
goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2
compare VAR_RESULT, 3
compare VAR_RESULT, FRONTIER_MODE_LINK_MULTIS
goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 6, 6
waitstate
@@ -5,9 +5,9 @@ BattleFrontier_BattleTowerBattleRoom2_MapScripts:: @ 8248EE8
.byte 0
BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8: @ 8248EF8
compare VAR_FRONTIER_BATTLE_MODE, 2
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F
compare VAR_FRONTIER_BATTLE_MODE, 3
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F
end
@@ -45,9 +45,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D:: @ 8248F4D
applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249518
applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_24951E
waitmovement 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4
applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E
@@ -57,7 +55,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D:: @ 8248F4D
applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524
waitmovement 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
@@ -70,7 +68,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4:: @ 8248FB4
applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249528
applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_24952E
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 3
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249026
setvar VAR_0x8004, BATTLE_TOWER_FUNC_7
setvar VAR_0x8005, 0
@@ -114,7 +112,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249069:: @ 8249069
case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA
BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E:: @ 824907E
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
setvar VAR_0x8004, BATTLE_TOWER_FUNC_2
setvar VAR_0x8005, 3
special CallBattleTowerFunc
@@ -123,7 +121,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E:: @ 824907E
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8
BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA
call BattleFrontier_BattleTowerBattleRoom2_EventScript_241EBA
call BattleFrontier_EventScript_IncrementWinStreak
setvar VAR_0x8004, BATTLE_TOWER_FUNC_4
special CallBattleTowerFunc
switch VAR_RESULT
@@ -139,7 +137,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA
applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249524
applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 3
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118
msgbox BattleFrontier_BattleTowerBattleRoom2_Text_242217, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249121
@@ -151,21 +149,17 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249118:: @ 8249118
BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121
special LoadPlayerParty
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_LOAD_SELECTED_PARTY
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_FRONTIER_BATTLE_MODE, 3
frontier_setpartyorder FRONTIER_MULTI_PARTY_SIZE
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249514
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
frontier_get FRONTIER_DATA_BATTLE_NUM
call BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD
compare VAR_FRONTIER_BATTLE_MODE, 3
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283
call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0
compare VAR_RESULT, 1
@@ -196,7 +190,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2491E7:: @ 82491E7
case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
BattleFrontier_BattleTowerBattleRoom2_EventScript_249219:: @ 8249219
call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4
call BattleFrontier_EventScript_SaveBattle
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
BattleFrontier_BattleTowerBattleRoom2_EventScript_249223:: @ 8249223
@@ -228,7 +222,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249283:: @ 8249283
end
BattleFrontier_BattleTowerBattleRoom2_EventScript_2492AF:: @ 82492AF
frontier_setchallengestatus CHALLENGE_STATUS_WON
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
setvar VAR_0x8004, BATTLE_TOWER_FUNC_2
setvar VAR_0x8005, 3
special CallBattleTowerFunc
@@ -240,17 +234,16 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB
message BattleFrontier_BattleTowerBattleRoom2_Text_242426
waitmessage
setvar VAR_0x8004, BATTLE_TOWER_FUNC_SAVE
setvar VAR_0x8005, 2
setvar VAR_0x8005, CHALLENGE_STATUS_PAUSED
special CallBattleTowerFunc
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET
special CallFrontierUtilFunc
frontier_reset
end
BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD:: @ 82492FD
compare VAR_FRONTIER_BATTLE_MODE, 3
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E
copyvar VAR_TEMP_F, VAR_RESULT
switch VAR_TEMP_F
@@ -379,7 +372,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2494A8:: @ 82494A8
switch VAR_RESULT
case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4
call BattleFrontier_EventScript_SaveBattle
setflag FLAG_TEMP_2
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
end
@@ -5,9 +5,9 @@ BattleFrontier_BattleTowerCorridor2_MapScripts:: @ 8248D4A
.byte 0
BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A: @ 8248D5A
compare VAR_FRONTIER_BATTLE_MODE, 2
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D71
compare VAR_FRONTIER_BATTLE_MODE, 3
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D91
end
@@ -87,13 +87,13 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248DBC:: @ 8248DBC
end
BattleFrontier_BattleTowerCorridor2_EventScript_248E71:: @ 8248E71
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248E9E
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248E9E
compare VAR_FRONTIER_BATTLE_MODE, 2
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248EA8
compare VAR_FRONTIER_BATTLE_MODE, 3
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248EB2
return
@@ -24,13 +24,13 @@ BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0
end
BattleFrontier_BattleTowerElevator_EventScript_241A28:: @ 8241A28
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A55
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A55
compare VAR_FRONTIER_BATTLE_MODE, 2
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A5F
compare VAR_FRONTIER_BATTLE_MODE, 3
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A72
return
@@ -36,14 +36,14 @@ BattleFrontier_BattleTowerLobby_EventScript_PlayerFaceNorth:: @ 823E6D3
BattleFrontier_BattleTowerLobby_OnFrame: @ 823E6DD
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerLobby_EventScript_23E707
map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleTowerLobby_EventScript_23E710
map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleTowerLobby_EventScript_23E8EE
map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleTowerLobby_EventScript_23E758
map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleTowerLobby_EventScript_23E7F2
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleTowerLobby_EventScript_23E710
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleTowerLobby_EventScript_23E8EE
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleTowerLobby_EventScript_23E758
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleTowerLobby_EventScript_23E7F2
.2byte 0
BattleFrontier_BattleTowerLobby_EventScript_23E707:: @ 823E707
frontier_checkoutcome
frontier_getstatus
end
BattleFrontier_BattleTowerLobby_EventScript_23E710:: @ 823E710
@@ -59,10 +59,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E710:: @ 823E710
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
special CallBattleTowerFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
release
end
@@ -70,8 +67,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E710:: @ 823E710
BattleFrontier_BattleTowerLobby_EventScript_23E758:: @ 823E758
lock
faceplayer
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_IS_FRONTIER_BRAIN
special CallFrontierUtilFunc
frontier_isbrain
compare VAR_RESULT, TRUE
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E778
message BattleFrontier_BattleTowerLobby_Text_23F60D
@@ -94,8 +90,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E780:: @ 823E780
BattleFrontier_BattleTowerLobby_EventScript_23E7A5:: @ 823E7A5
msgbox BattleFrontier_BattleTowerLobby_Text_2414D4, MSGBOX_DEFAULT
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_11
special CallFrontierUtilFunc
frontier_givepoints
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
call BattleFrontier_BattleTowerLobby_EventScript_23E84D
setvar VAR_0x8004, BATTLE_TOWER_FUNC_1
@@ -113,7 +108,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2
end
BattleFrontier_BattleTowerLobby_EventScript_23E7F2:: @ 823E7F2
compare VAR_FRONTIER_BATTLE_MODE, 2
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E81E
goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerLobby_EventScript_23E81E
setvar VAR_0x8004, BATTLE_TOWER_FUNC_1
@@ -143,8 +138,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E830:: @ 823E830
BattleFrontier_BattleTowerLobby_EventScript_23E84D:: @ 823E84D
message BattleFrontier_BattleTowerLobby_Text_23F70F
waitmessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_8
special CallFrontierUtilFunc
frontier_checkairshow
special LoadPlayerParty
special HealPlayerParty
setvar VAR_0x8004, BATTLE_TOWER_FUNC_SAVE
@@ -160,31 +154,19 @@ BattleFrontier_BattleTowerLobby_EventScript_23E84D:: @ 823E84D
multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
case 1, BattleFrontier_BattleTowerLobby_EventScript_23E8DF
case 0, BattleFrontier_BattleTowerLobby_EventScript_23E8B4
case 0, BattleFrontier_EventScript_SaveBattle
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23E8DF
BattleFrontier_BattleArenaBattleRoom_EventScript_23E8B4:: @ 823E8B4
BattleFrontier_BattleArenaLobby_EventScript_23E8B4:: @ 823E8B4
BattleFrontier_BattleDomeLobby_EventScript_23E8B4:: @ 823E8B4
BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8B4:: @ 823E8B4
BattleFrontier_BattleFactoryLobby_EventScript_23E8B4:: @ 823E8B4
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8B4:: @ 823E8B4
BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8B4:: @ 823E8B4
BattleFrontier_BattlePalaceLobby_EventScript_23E8B4:: @ 823E8B4
BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4:: @ 823E8B4
BattleFrontier_BattleTowerBattleRoom_EventScript_23E8B4:: @ 823E8B4
BattleFrontier_BattleTowerLobby_EventScript_23E8B4:: @ 823E8B4
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_19
special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E8D7
BattleFrontier_EventScript_SaveBattle:: @ 823E8B4
frontier_savebattle
compare VAR_RESULT, FALSE
goto_if_eq BattleFrontier_EventScript_BattleSaveFailed
playse SE_SAVE
msgbox BattleFrontier_BattleTowerLobby_Text_2423CD, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23E8DF
BattleFrontier_BattleTowerLobby_EventScript_23E8D7:: @ 823E8D7
BattleFrontier_EventScript_BattleSaveFailed:: @ 823E8D7
msgbox gText_BattleRecordCouldntBeSaved, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_23E8DF:: @ 823E8DF
return
@@ -200,14 +182,14 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0:: @ 823E8E0
BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0:: @ 823E8E0
BattleFrontier_BattleTowerLobby_EventScript_23E8E0:: @ 823E8E0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
special CallFrontierUtilFunc
return
BattleFrontier_BattleTowerLobby_EventScript_23E8EE:: @ 823E8EE
lock
faceplayer
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E930
message BattleFrontier_BattleTowerLobby_Text_23F737
waitmessage
@@ -218,10 +200,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E8EE:: @ 823E8EE
special CallBattleTowerFunc
playse SE_SAVE
waitse
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
end
@@ -232,7 +211,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E930:: @ 823E930
BattleFrontier_BattleTowerLobby_EventScript_23E936:: @ 823E936
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 0
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER
special SavePlayerParty
msgbox BattleFrontier_BattleTowerLobby_Text_240537, MSGBOX_DEFAULT
@@ -247,24 +226,20 @@ BattleFrontier_BattleTowerLobby_EventScript_23E948:: @ 823E948
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984
setvar VAR_FRONTIER_BATTLE_MODE, 0
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
message BattleFrontier_BattleTowerLobby_Text_23FD3B
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
frontier_checkineligible
compare VAR_0x8004, TRUE
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleTowerLobby_Text_2407A6, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, 3
special sub_80F9490
@@ -278,9 +253,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, BATTLE_TOWER_FUNC_0
special CallBattleTowerFunc
@@ -288,10 +261,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
special CallBattleTowerFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
@@ -312,7 +282,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EA91:: @ 823EA91
BattleFrontier_BattleTowerLobby_EventScript_23EA9F:: @ 823EA9F
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 0
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER
special SavePlayerParty
msgbox BattleFrontier_BattleTowerLobby_Text_2407E2, MSGBOX_DEFAULT
@@ -327,24 +297,20 @@ BattleFrontier_BattleTowerLobby_EventScript_23EAB1:: @ 823EAB1
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED
setvar VAR_FRONTIER_BATTLE_MODE, 1
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
message BattleFrontier_BattleTowerLobby_Text_23FD3B
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
frontier_checkineligible
compare VAR_0x8004, TRUE
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleTowerLobby_Text_240A50, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, 4
special sub_80F9490
@@ -358,9 +324,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, BATTLE_TOWER_FUNC_0
special CallBattleTowerFunc
@@ -368,10 +332,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
special CallBattleTowerFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
@@ -392,7 +353,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EBFA:: @ 823EBFA
BattleFrontier_BattleTowerLobby_EventScript_23EC08:: @ 823EC08
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 0
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER
clearflag FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER
special SavePlayerParty
msgbox BattleFrontier_BattleTowerLobby_Text_240A8B, MSGBOX_DEFAULT
@@ -408,24 +369,20 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC1D:: @ 823EC1D
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59
setvar VAR_FRONTIER_BATTLE_MODE, 2
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
message BattleFrontier_BattleTowerLobby_Text_23FD3B
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
frontier_checkineligible
compare VAR_0x8004, TRUE
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleTowerLobby_Text_240DDB, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, 2
special sub_80F9490
@@ -439,9 +396,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, BATTLE_TOWER_FUNC_0
special CallBattleTowerFunc
@@ -449,10 +404,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
special CallBattleTowerFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
@@ -473,7 +425,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ED66:: @ 823ED66
BattleFrontier_BattleTowerLobby_EventScript_23ED74:: @ 823ED74
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 0
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER
special SavePlayerParty
msgbox BattleFrontier_BattleTowerLobby_Text_240E15, MSGBOX_DEFAULT
@@ -488,24 +440,20 @@ BattleFrontier_BattleTowerLobby_EventScript_23ED86:: @ 823ED86
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2
setvar VAR_FRONTIER_BATTLE_MODE, 3
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
message BattleFrontier_BattleTowerLobby_Text_23FD3B
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
frontier_checkineligible
compare VAR_0x8004, TRUE
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleTowerLobby_Text_24115E, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, 2
special sub_80F9490
@@ -519,9 +467,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, BATTLE_TOWER_FUNC_0
special CallBattleTowerFunc
@@ -529,10 +475,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
special CallBattleTowerFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
@@ -656,13 +599,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F012:: @ 823F012
BattleFrontier_BattleTowerLobby_EventScript_23F02B:: @ 823F02B
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F046
case 1, BattleFrontier_BattleTowerLobby_EventScript_23F08B
case FRONTIER_LVL_50, BattleFrontier_BattleTowerLobby_EventScript_23F046
case FRONTIER_LVL_OPEN, BattleFrontier_BattleTowerLobby_EventScript_23F08B
BattleFrontier_BattleTowerLobby_EventScript_23F046:: @ 823F046
switch VAR_FRONTIER_BATTLE_MODE
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F06F
case 1, BattleFrontier_BattleTowerLobby_EventScript_23F07D
case FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_23F06F
case FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_23F07D
msgbox BattleFrontier_BattleTowerLobby_Text_24038B, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
end
@@ -679,8 +622,8 @@ BattleFrontier_BattleTowerLobby_EventScript_23F07D:: @ 823F07D
BattleFrontier_BattleTowerLobby_EventScript_23F08B:: @ 823F08B
switch VAR_FRONTIER_BATTLE_MODE
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0B4
case 1, BattleFrontier_BattleTowerLobby_EventScript_23F0C2
case FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_23F0B4
case FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_23F0C2
msgbox BattleFrontier_BattleTowerLobby_Text_24046B, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
end
@@ -696,27 +639,23 @@ BattleFrontier_BattleTowerLobby_EventScript_23F0C2:: @ 823F0C2
end
BattleFrontier_BattleTowerLobby_EventScript_23F0D0:: @ 823F0D0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS @ No status provided, so it relies on VAR_0x8006 being 0 already
goto BattleFrontier_BattleTowerLobby_EventScript_23F0E6
end
BattleFrontier_BattleTowerLobby_EventScript_23F0E3:: @ 823F0E3
special LoadPlayerParty
BattleFrontier_BattleTowerLobby_EventScript_23F0E6:: @ 823F0E6
special CloseLink
msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_23F0F1:: @ 823F0F1
release
end
BattleFrontier_BattleTowerLobby_EventScript_23F0F3:: @ 823F0F3
special SavePlayerParty
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_LOAD_SELECTED_PARTY
call BattleFrontier_BattleTowerLobby_EventScript_23F272
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_PARTY_ORDER
call BattleFrontier_BattleTowerLobby_EventScript_GetPartySize
special CallFrontierUtilFunc
setvar VAR_RESULT, 0
@@ -735,7 +674,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108
BattleFrontier_BattleTowerLobby_EventScript_23F135:: @ 823F135
call BattleFrontier_BattleTowerLobby_EventScript_23F1A7
compare VAR_FRONTIER_BATTLE_MODE, 3
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F152
msgbox BattleFrontier_BattleTowerLobby_Text_23FE11, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F15B
@@ -788,13 +727,13 @@ BattleFrontier_BattleTowerLobby_Movement_23F1A0: @ 823F1A0
step_end
BattleFrontier_BattleTowerLobby_EventScript_23F1A7:: @ 823F1A7
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1D4
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1D9
compare VAR_FRONTIER_BATTLE_MODE, 2
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1DE
compare VAR_FRONTIER_BATTLE_MODE, 3
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1E3
return
@@ -815,13 +754,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F1E3:: @ 823F1E3
return
BattleFrontier_BattleTowerLobby_EventScript_23F1E8:: @ 823F1E8
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F215
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F21B
compare VAR_FRONTIER_BATTLE_MODE, 2
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F221
compare VAR_FRONTIER_BATTLE_MODE, 3
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F227
return
@@ -842,13 +781,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F227:: @ 823F227
return
BattleFrontier_BattleTowerLobby_EventScript_23F22D:: @ 823F22D
compare VAR_FRONTIER_BATTLE_MODE, 0
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F25A
compare VAR_FRONTIER_BATTLE_MODE, 1
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F260
compare VAR_FRONTIER_BATTLE_MODE, 2
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F266
compare VAR_FRONTIER_BATTLE_MODE, 3
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F26C
return
@@ -868,44 +807,35 @@ BattleFrontier_BattleTowerLobby_EventScript_23F26C:: @ 823F26C
setvar VAR_0x8004, 18
return
BattleFrontier_BattleTowerLobby_EventScript_23F272:: @ 823F272
compare VAR_FRONTIER_BATTLE_MODE, 0
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F29F
compare VAR_FRONTIER_BATTLE_MODE, 1
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2A5
compare VAR_FRONTIER_BATTLE_MODE, 2
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2AB
compare VAR_FRONTIER_BATTLE_MODE, 3
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2B1
BattleFrontier_BattleTowerLobby_EventScript_GetPartySize:: @ 823F272
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetSinglesPartySize
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoublesPartySize
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetMultisPartySize
compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetLinkMultisPartySize
return
BattleFrontier_BattleTowerLobby_EventScript_23F29F:: @ 823F29F
BattleFrontier_BattleTowerLobby_EventScript_GetSinglesPartySize:: @ 823F29F
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
return
BattleFrontier_BattleTowerLobby_EventScript_23F2A5:: @ 823F2A5
setvar VAR_0x8005, 4
BattleFrontier_BattleTowerLobby_EventScript_GetDoublesPartySize:: @ 823F2A5
setvar VAR_0x8005, FRONTIER_DOUBLES_PARTY_SIZE
return
BattleFrontier_BattleTowerLobby_EventScript_23F2AB:: @ 823F2AB
setvar VAR_0x8005, 2
BattleFrontier_BattleTowerLobby_EventScript_GetMultisPartySize:: @ 823F2AB
setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE
return
BattleFrontier_BattleTowerLobby_EventScript_23F2B1:: @ 823F2B1
setvar VAR_0x8005, 2
BattleFrontier_BattleTowerLobby_EventScript_GetLinkMultisPartySize:: @ 823F2B1
setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE
return
BattleFrontier_BattleArenaLobby_EventScript_23F2B7:: @ 823F2B7
BattleFrontier_BattleDomeLobby_EventScript_23F2B7:: @ 823F2B7
BattleFrontier_BattleDomePreBattleRoom_EventScript_23F2B7:: @ 823F2B7
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23F2B7:: @ 823F2B7
BattleFrontier_BattlePalaceLobby_EventScript_23F2B7:: @ 823F2B7
BattleFrontier_BattlePikeLobby_EventScript_23F2B7:: @ 823F2B7
BattleFrontier_BattlePyramidLobby_EventScript_23F2B7:: @ 823F2B7
BattleFrontier_BattleTowerLobby_EventScript_23F2B7:: @ 823F2B7
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 1
special CallFrontierUtilFunc
BattleFrontier_EventScript_GetLvlMode:: @ 823F2B7
frontier_get FRONTIER_DATA_LVL_MODE
return
BattleFrontier_BattleTowerLobby_EventScript_23F2C5:: @ 823F2C5
@@ -95,7 +95,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A:: @ 8243E7A
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D:: @ 8243E9D
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 6
setvar VAR_0x8005, FRONTIER_DATA_6
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03
@@ -88,12 +88,12 @@ BattleFrontier_ScottsHouse_EventScript_ArtisanCaveComment:: @ 8263811
end
BattleFrontier_ScottsHouse_EventScript_CheckGiveSilverShield:: @ 826381B
setvar VAR_FRONTIER_BATTLE_MODE, 0
frontier_setlvlmode FRONTIER_LVL_50
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
battletower_getstreak
compare VAR_RESULT, 50
goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveSilverShield
frontier_setlvlmode FRONTIER_LVL_OPEN
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_OPEN
battletower_getstreak
compare VAR_RESULT, 50
goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveSilverShield
@@ -121,12 +121,12 @@ BattleFrontier_ScottsHouse_EventScript_GivenShield:: @ 82638AA
end
BattleFrontier_ScottsHouse_EventScript_CheckGiveGoldShield:: @ 82638B4
setvar VAR_FRONTIER_BATTLE_MODE, 0
frontier_setlvlmode FRONTIER_LVL_50
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
battletower_getstreak
compare VAR_RESULT, 100
goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveGoldShield
frontier_setlvlmode FRONTIER_LVL_OPEN
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_OPEN
battletower_getstreak
compare VAR_RESULT, 100
goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveGoldShield
@@ -35,7 +35,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_2008E7:: @ 82008E7
showobjectat 1, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B8D
waitmovement 0
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
goto_if_ne FallarborTown_BattleTentBattleRoom_EventScript_200B73
@@ -51,7 +51,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_20090F:: @ 820090F
waitmovement 0
msgbox FallarborTown_BattleTentBattleRoom_Text_257C93, MSGBOX_DEFAULT
setvar VAR_0x8004, 4
special sub_81B99B4
special CallVerdanturfTentFunction
msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
call FallarborTown_BattleTentBattleRoom_EventScript_257B6C
@@ -62,11 +62,11 @@ FallarborTown_BattleTentBattleRoom_EventScript_20090F:: @ 820090F
waitse
waitmovement 0
setvar VAR_0x8004, 6
special sub_81B9B80
special CallFallarborTentFunction
msgbox FallarborTown_BattleTentBattleRoom_Text_257CCE, MSGBOX_DEFAULT
FallarborTown_BattleTentBattleRoom_EventScript_20097E:: @ 820097E
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
special LoadPlayerParty
warp MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
@@ -80,9 +80,9 @@ FallarborTown_BattleTentBattleRoom_EventScript_20099C:: @ 820099C
closemessage
FallarborTown_BattleTentBattleRoom_EventScript_2009B3:: @ 82009B3
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
frontier_setbattlenum VAR_RESULT
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
case 3, FallarborTown_BattleTentBattleRoom_EventScript_200AF3
applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_200B9E
@@ -95,13 +95,13 @@ FallarborTown_BattleTentBattleRoom_EventScript_2009B3:: @ 82009B3
msgbox FallarborTown_BattleTentBattleRoom_Text_257CE9, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
FallarborTown_BattleTentBattleRoom_EventScript_200A2A:: @ 8200A2A
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 1
call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_200B43
compare VAR_RESULT, 2
@@ -139,14 +139,14 @@ FallarborTown_BattleTentBattleRoom_EventScript_200AD8:: @ 8200AD8
FallarborTown_BattleTentBattleRoom_EventScript_200AF3:: @ 8200AF3
delay 60
frontier_setchallengestatus CHALLENGE_STATUS_WON
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
special LoadPlayerParty
warp MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special CallBattleArenaFunction
compare VAR_RESULT, 9999
compare VAR_RESULT, MAX_STREAK
goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2009B3
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
@@ -169,12 +169,11 @@ FallarborTown_BattleTentBattleRoom_EventScript_200B51:: @ 8200B51
waitmessage
setvar VAR_0x8004, 3
setvar VAR_0x8005, 2
special sub_81B9B80
special CallFallarborTentFunction
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET
special CallFrontierUtilFunc
frontier_reset
end
FallarborTown_BattleTentBattleRoom_EventScript_200B73:: @ 8200B73
@@ -14,29 +14,23 @@ FallarborTown_BattleTentLobby_EventScript_1FFE7B:: @ 81FFE7B
FallarborTown_BattleTentLobby_MapScript2_1FFE85: @ 81FFE85
map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentLobby_EventScript_1FFEAF
map_script_2 VAR_TEMP_0, 1, FallarborTown_BattleTentLobby_EventScript_1FFEB8
map_script_2 VAR_TEMP_0, 2, FallarborTown_BattleTentLobby_EventScript_1FFFCD
map_script_2 VAR_TEMP_0, 3, FallarborTown_BattleTentLobby_EventScript_1FFEED
map_script_2 VAR_TEMP_0, 4, FallarborTown_BattleTentLobby_EventScript_1FFF93
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, FallarborTown_BattleTentLobby_EventScript_1FFEB8
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, FallarborTown_BattleTentLobby_EventScript_1FFFCD
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, FallarborTown_BattleTentLobby_EventScript_1FFEED
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, FallarborTown_BattleTentLobby_EventScript_1FFF93
.2byte 0
FallarborTown_BattleTentLobby_EventScript_1FFEAF:: @ 81FFEAF
frontier_checkoutcome
frontier_getstatus
end
FallarborTown_BattleTentLobby_EventScript_1FFEB8:: @ 81FFEB8
lockall
msgbox FallarborTown_BattleTentLobby_Text_2C4DED, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
releaseall
end
@@ -46,27 +40,21 @@ FallarborTown_BattleTentLobby_EventScript_1FFEED:: @ 81FFEED
message FallarborTown_BattleTentLobby_Text_2C4EFF
waitmessage
setvar VAR_0x8004, 4
special sub_81B9B80
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
special CallFallarborTentFunction
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
special sub_81B9B80
special CallFallarborTentFunction
playse SE_SAVE
waitse
FallarborTown_BattleTentLobby_EventScript_1FFF27:: @ 81FFF27
msgbox FallarborTown_BattleTentLobby_Text_2C4F22, MSGBOX_DEFAULT
setvar VAR_0x8004, 5
special sub_81B9B80
special CallFallarborTentFunction
switch VAR_RESULT
case 0, FallarborTown_BattleTentLobby_EventScript_1FFF73
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
message FallarborTown_BattleTentLobby_Text_2C4F69
waitmessage
playfanfare MUS_FANFA4
@@ -95,13 +83,10 @@ FallarborTown_BattleTentLobby_EventScript_1FFF93:: @ 81FFF93
lockall
message FallarborTown_BattleTentLobby_Text_2C4FD7
waitmessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
special sub_81B9B80
special CallFallarborTentFunction
playse SE_SAVE
waitse
msgbox FallarborTown_BattleTentLobby_Text_2C501F, MSGBOX_DEFAULT
@@ -116,13 +101,10 @@ FallarborTown_BattleTentLobby_EventScript_1FFFCD:: @ 81FFFCD
waitmessage
setvar VAR_0x8004, 3
setvar VAR_0x8005, 1
special sub_81B9B80
special CallFallarborTentFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
goto FallarborTown_BattleTentLobby_EventScript_20013C
@@ -130,7 +112,7 @@ FallarborTown_BattleTentLobby_EventScript_200001:: @ 8200001
lock
faceplayer
setvar VAR_0x8004, 1
special sub_81B9B80
special CallFallarborTentFunction
compare VAR_RESULT, 0
goto_if_ne FallarborTown_BattleTentLobby_EventScript_1FFF84
special SavePlayerParty
@@ -147,17 +129,13 @@ FallarborTown_BattleTentLobby_EventScript_200021:: @ 8200021
case MULTI_B_PRESSED, FallarborTown_BattleTentLobby_EventScript_2001C5
FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D
setvar VAR_FRONTIER_FACILITY, 3
setvar VAR_FRONTIER_BATTLE_MODE, 0
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_ARENA
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
setvar VAR_RESULT, 2
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
frontier_checkineligible
compare VAR_0x8004, TRUE
goto_if_eq FallarborTown_BattleTentLobby_EventScript_200176
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
setvar VAR_0x8006, 2
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_TENT
msgbox FallarborTown_BattleTentLobby_Text_2C4BC8, MSGBOX_DEFAULT
fadescreen 1
setvar VAR_0x8004, 2
@@ -174,19 +152,11 @@ FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D
FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_0x8004, 0
special sub_81B9B80
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
special CallFallarborTentFunction
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
@@ -197,7 +167,7 @@ FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2
FallarborTown_BattleTentLobby_EventScript_20013C:: @ 820013C
special SavePlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox FallarborTown_BattleTentLobby_Text_2C4DC3, MSGBOX_DEFAULT
closemessage
call FallarborTown_BattleTentLobby_EventScript_2001CF
@@ -212,8 +182,8 @@ FallarborTown_BattleTentLobby_EventScript_200169:: @ 8200169
FallarborTown_BattleTentLobby_EventScript_200176:: @ 8200176
switch VAR_RESULT
case 0, FallarborTown_BattleTentLobby_EventScript_200191
case 1, FallarborTown_BattleTentLobby_EventScript_20019E
case FRONTIER_LVL_50, FallarborTown_BattleTentLobby_EventScript_200191
case FRONTIER_LVL_OPEN, FallarborTown_BattleTentLobby_EventScript_20019E
FallarborTown_BattleTentLobby_EventScript_200191:: @ 8200191
msgbox FallarborTown_BattleTentLobby_Text_2C4BFA, MSGBOX_DEFAULT
@@ -224,10 +194,7 @@ FallarborTown_BattleTentLobby_EventScript_20019E:: @ 820019E
goto FallarborTown_BattleTentLobby_EventScript_2001CD
FallarborTown_BattleTentLobby_EventScript_2001AB:: @ 82001AB
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
goto FallarborTown_BattleTentLobby_EventScript_2001C5
FallarborTown_BattleTentLobby_EventScript_2001C2:: @ 82001C2
@@ -258,15 +258,12 @@ MossdeepCity_SpaceCenter_2F_EventScript_ChoosePartyForMultiBattle:: @ 822400C
MossdeepCity_SpaceCenter_2F_EventScript_DoStevenMultiBattle:: @ 8224032
special ReducePlayerPartyToSelectedMons
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_0x8004, SPECIAL_BATTLE_STEVEN
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_6
special CallFrontierUtilFunc
frontier_saveparty
special LoadPlayerParty
switch VAR_RESULT
case 1, MossdeepCity_SpaceCenter_2F_EventScript_DefeatedMaxieTabitha
@@ -49,7 +49,7 @@ SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE
applymovement 2, SlateportCity_BattleTentBattleRoom_Movement_209A9E
waitmovement 0
setvar VAR_0x8004, 4
special sub_81B99B4
special CallVerdanturfTentFunction
lockall
msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
@@ -63,15 +63,15 @@ SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE
case 1, SlateportCity_BattleTentBattleRoom_EventScript_209A39
SlateportCity_BattleTentCorridor_EventScript_209A1B:: @ 8209A1B
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
special LoadPlayerParty
warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
SlateportCity_BattleTentBattleRoom_EventScript_209A39:: @ 8209A39
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
frontier_setbattlenum VAR_RESULT
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
case 3, SlateportCity_BattleTentBattleRoom_EventScript_209A7B
@ case 3, SlateportCity_BattleTentCorridor_EventScript_209A7B
@@ -81,7 +81,7 @@ SlateportCity_BattleTentBattleRoom_EventScript_209A39:: @ 8209A39
SlateportCity_BattleTentBattleRoom_EventScript_209A7B:: @ 8209A7B
SlateportCity_BattleTentCorridor_EventScript_209A7B:: @ 8209A7B
frontier_setchallengestatus CHALLENGE_STATUS_WON
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
special LoadPlayerParty
warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
@@ -32,15 +32,14 @@ SlateportCity_BattleTentCorridor_EventScript_208E65:: @ 8208E65
compare VAR_0x8006, 2
goto_if_eq SlateportCity_BattleTentCorridor_EventScript_209044
setvar VAR_0x8004, 9
special sub_81B9D08
special CallSlateportTentFunction
setvar VAR_0x8004, 8
special sub_81B9D08
special CallSlateportTentFunction
msgbox SlateportCity_BattleTentCorridor_Text_25A1C8, MSGBOX_DEFAULT
fadescreen 1
setvar VAR_0x8004, 6
special sub_81B9D08
special CallSlateportTentFunction
waitstate
SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4
msgbox SlateportCity_BattleTentCorridor_Text_25AB96, MSGBOX_DEFAULT
closemessage
@@ -66,11 +65,8 @@ SlateportCity_BattleTentCorridor_EventScript_208EEE:: @ 8208EEE
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
SlateportCity_BattleTentCorridor_EventScript_208F0D:: @ 8208F0D
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 1
call_if_eq SlateportCity_BattleTentCorridor_EventScript_209014
compare VAR_RESULT, 2
@@ -99,7 +95,7 @@ SlateportCity_BattleTentCorridor_EventScript_208F89:: @ 8208F89
SlateportCity_BattleTentCorridor_EventScript_208FBB:: @ 8208FBB
setvar VAR_0x8004, 8
special sub_81B9D08
special CallSlateportTentFunction
msgbox SlateportCity_BattleTentCorridor_Text_25AB2E, MSGBOX_YESNO
switch VAR_RESULT
case NO, SlateportCity_BattleTentCorridor_EventScript_208EB4
@@ -109,7 +105,7 @@ SlateportCity_BattleTentCorridor_EventScript_208FBB:: @ 8208FBB
SlateportCity_BattleTentCorridor_EventScript_208FF1:: @ 8208FF1
fadescreen 1
setvar VAR_0x8004, 7
special sub_81B9D08
special CallSlateportTentFunction
waitstate
compare VAR_RESULT, 1
goto_if_eq SlateportCity_BattleTentCorridor_EventScript_208EB4
@@ -131,12 +127,11 @@ SlateportCity_BattleTentCorridor_EventScript_209022:: @ 8209022
waitmessage
setvar VAR_0x8004, 3
setvar VAR_0x8005, 2
special sub_81B9D08
special CallSlateportTentFunction
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET
special CallFrontierUtilFunc
frontier_reset
end
SlateportCity_BattleTentCorridor_EventScript_209044:: @ 8209044
@@ -14,29 +14,23 @@ SlateportCity_BattleTentLobby_EventScript_208745:: @ 8208745
SlateportCity_BattleTentLobby_MapScript2_20874F: @ 820874F
map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentLobby_EventScript_208779
map_script_2 VAR_TEMP_0, 1, SlateportCity_BattleTentLobby_EventScript_208782
map_script_2 VAR_TEMP_0, 2, SlateportCity_BattleTentLobby_EventScript_208871
map_script_2 VAR_TEMP_0, 3, SlateportCity_BattleTentLobby_EventScript_2087B7
map_script_2 VAR_TEMP_0, 4, SlateportCity_BattleTentLobby_EventScript_208837
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, SlateportCity_BattleTentLobby_EventScript_208782
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, SlateportCity_BattleTentLobby_EventScript_208871
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, SlateportCity_BattleTentLobby_EventScript_2087B7
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, SlateportCity_BattleTentLobby_EventScript_208837
.2byte 0
SlateportCity_BattleTentLobby_EventScript_208779:: @ 8208779
frontier_checkoutcome
frontier_getstatus
end
SlateportCity_BattleTentLobby_EventScript_208782:: @ 8208782
lockall
msgbox SlateportCity_BattleTentLobby_Text_2C5DFA, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
releaseall
end
@@ -45,27 +39,20 @@ SlateportCity_BattleTentLobby_EventScript_2087B7:: @ 82087B7
message SlateportCity_BattleTentLobby_Text_2C5C6F
waitmessage
setvar VAR_0x8004, 4
special sub_81B9D08
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
special CallSlateportTentFunction
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
special sub_81B9D08
special CallSlateportTentFunction
playse SE_SAVE
waitse
SlateportCity_BattleTentLobby_EventScript_2087E9:: @ 82087E9
msgbox SlateportCity_BattleTentLobby_Text_2C5D14, MSGBOX_DEFAULT
setvar VAR_0x8004, 5
special sub_81B9D08
special CallSlateportTentFunction
switch VAR_RESULT
case 0, SlateportCity_BattleTentLobby_EventScript_20882A
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
message SlateportCity_BattleTentLobby_Text_23F68C
waitmessage
playfanfare MUS_FANFA4
@@ -80,13 +67,10 @@ SlateportCity_BattleTentLobby_EventScript_208837:: @ 8208837
lockall
message SlateportCity_BattleTentLobby_Text_2C5BA2
waitmessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
special sub_81B9D08
special CallSlateportTentFunction
playse SE_SAVE
waitse
@@ -103,13 +87,10 @@ SlateportCity_BattleTentLobby_EventScript_208871:: @ 8208871
waitmessage
setvar VAR_0x8004, 3
setvar VAR_0x8005, 1
special sub_81B9D08
special CallSlateportTentFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
setvar VAR_0x8006, 2
goto SlateportCity_BattleTentLobby_EventScript_2089AC
@@ -118,7 +99,7 @@ SlateportCity_BattleTentLobby_EventScript_2088AA:: @ 82088AA
lock
faceplayer
setvar VAR_0x8004, 1
special sub_81B9D08
special CallSlateportTentFunction
compare VAR_RESULT, 0
goto_if_ne SlateportCity_BattleTentLobby_EventScript_2087E9
special SavePlayerParty
@@ -135,12 +116,9 @@ SlateportCity_BattleTentLobby_EventScript_2088CA:: @ 82088CA
case MULTI_B_PRESSED, SlateportCity_BattleTentLobby_EventScript_208A2E
SlateportCity_BattleTentLobby_EventScript_208906:: @ 8208906
setvar VAR_FRONTIER_FACILITY, 4
setvar VAR_FRONTIER_BATTLE_MODE, 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
setvar VAR_0x8006, 2
special CallFrontierUtilFunc
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_FACTORY
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_TENT
msgbox SlateportCity_BattleTentLobby_Text_2C5B06, MSGBOX_YESNO
switch VAR_RESULT
case NO, SlateportCity_BattleTentLobby_EventScript_208A2B
@@ -149,19 +127,11 @@ SlateportCity_BattleTentLobby_EventScript_208906:: @ 8208906
SlateportCity_BattleTentLobby_EventScript_208950:: @ 8208950
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_0x8004, 0
special sub_81B9D08
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
special CallSlateportTentFunction
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
frontier_set FRONTIER_DATA_PAUSED, FALSE
closemessage
delay 2
call Common_EventScript_SaveGame
@@ -169,7 +139,6 @@ SlateportCity_BattleTentLobby_EventScript_208950:: @ 8208950
compare VAR_RESULT, 0
goto_if_eq SlateportCity_BattleTentLobby_EventScript_208A14
setvar VAR_0x8006, 0
SlateportCity_BattleTentLobby_EventScript_2089AC:: @ 82089AC
msgbox SlateportCity_BattleTentLobby_Text_2C5B8C, MSGBOX_DEFAULT
closemessage
@@ -220,10 +189,7 @@ SlateportCity_BattleTentLobby_EventScript_208A07:: @ 8208A07
goto SlateportCity_BattleTentLobby_EventScript_2088CA
SlateportCity_BattleTentLobby_EventScript_208A14:: @ 8208A14
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
goto SlateportCity_BattleTentLobby_EventScript_208A2E
SlateportCity_BattleTentLobby_EventScript_208A2B:: @ 8208A2B
@@ -4,8 +4,7 @@ SootopolisCity_MysteryEventsHouse_1F_MapScripts:: @ 8227953
.byte 0
SootopolisCity_MysteryEventsHouse_1F_OnTransition: @ 822795E
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER
special CallFrontierUtilFunc
frontier_checkvisittrainer
compare VAR_RESULT, 0
call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_SetTrainerVisitingLayout
compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 0
@@ -74,8 +73,7 @@ SootopolisCity_MysteryEventsHouse_1F_Movement_OldManWalkBehindPlayer: @ 8227A21
SootopolisCity_MysteryEventsHouse_1F_EventScript_OldMan:: @ 8227A24
lock
faceplayer
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER
special CallFrontierUtilFunc
frontier_checkvisittrainer
compare VAR_RESULT, 1
goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_InvalidVisitingTrainer
compare VAR_TEMP_1, 1
@@ -34,7 +34,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_202348:: @ 8202348
showobjectat 1, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM
applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_202575
waitmovement 0
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
goto_if_ne VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
@@ -45,7 +45,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_20236F:: @ 820236F
applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_20257B
waitmovement 0
setvar VAR_0x8004, 4
special sub_81B99B4
special CallVerdanturfTentFunction
msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
call VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7
@@ -53,15 +53,15 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_20236F:: @ 820236F
case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8
VerdanturfTown_BattleTentBattleRoom_EventScript_2023AA:: @ 82023AA
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
special LoadPlayerParty
warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8:: @ 82023C8
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
frontier_setbattlenum VAR_RESULT
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
case 3, VerdanturfTown_BattleTentBattleRoom_EventScript_202501
applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_202581
@@ -73,13 +73,13 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8:: @ 82023C8
msgbox VerdanturfTown_BattleTentBattleRoom_Text_24FF00, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
VerdanturfTown_BattleTentBattleRoom_EventScript_20243C:: @ 820243C
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 1
call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202565
compare VAR_RESULT, 2
@@ -114,7 +114,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_2024EA:: @ 82024EA
goto VerdanturfTown_BattleTentBattleRoom_EventScript_20236F
VerdanturfTown_BattleTentBattleRoom_EventScript_202501:: @ 8202501
frontier_setchallengestatus CHALLENGE_STATUS_WON
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
special LoadPlayerParty
warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
@@ -124,12 +124,11 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_20251F:: @ 820251F
waitmessage
setvar VAR_0x8004, 5
setvar VAR_0x8005, 2
special sub_81B99B4
special CallVerdanturfTentFunction
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET
special CallFrontierUtilFunc
frontier_reset
end
VerdanturfTown_BattleTentBattleRoom_MapScript2_202541: @ 8202541
@@ -14,29 +14,23 @@ VerdanturfTown_BattleTentLobby_EventScript_2016E5:: @ 82016E5
VerdanturfTown_BattleTentLobby_MapScript2_2016EF: @ 82016EF
map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentLobby_EventScript_201719
map_script_2 VAR_TEMP_0, 1, VerdanturfTown_BattleTentLobby_EventScript_201722
map_script_2 VAR_TEMP_0, 2, VerdanturfTown_BattleTentLobby_EventScript_201837
map_script_2 VAR_TEMP_0, 3, VerdanturfTown_BattleTentLobby_EventScript_201757
map_script_2 VAR_TEMP_0, 4, VerdanturfTown_BattleTentLobby_EventScript_2017FD
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, VerdanturfTown_BattleTentLobby_EventScript_201722
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, VerdanturfTown_BattleTentLobby_EventScript_201837
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, VerdanturfTown_BattleTentLobby_EventScript_201757
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, VerdanturfTown_BattleTentLobby_EventScript_2017FD
.2byte 0
VerdanturfTown_BattleTentLobby_EventScript_201719:: @ 8201719
frontier_checkoutcome
frontier_getstatus
end
VerdanturfTown_BattleTentLobby_EventScript_201722:: @ 8201722
lockall
msgbox VerdanturfTown_BattleTentLobby_Text_24E636, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
releaseall
end
@@ -46,27 +40,21 @@ VerdanturfTown_BattleTentLobby_EventScript_201757:: @ 8201757
message VerdanturfTown_BattleTentLobby_Text_2C5791
waitmessage
setvar VAR_0x8004, 6
special sub_81B99B4
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
special CallVerdanturfTentFunction
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
setvar VAR_0x8004, 5
setvar VAR_0x8005, 0
special sub_81B99B4
special CallVerdanturfTentFunction
playse SE_SAVE
waitse
VerdanturfTown_BattleTentLobby_EventScript_201791:: @ 8201791
msgbox VerdanturfTown_BattleTentLobby_Text_2C57CD, MSGBOX_DEFAULT
setvar VAR_0x8004, 7
special sub_81B99B4
special CallVerdanturfTentFunction
switch VAR_RESULT
case 0, VerdanturfTown_BattleTentLobby_EventScript_2017DD
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
message VerdanturfTown_BattleTentLobby_Text_24A554
waitmessage
playfanfare MUS_FANFA4
@@ -95,13 +83,10 @@ VerdanturfTown_BattleTentLobby_EventScript_2017FD:: @ 82017FD
lockall
message VerdanturfTown_BattleTentLobby_Text_2C56B8
waitmessage
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
setvar VAR_0x8004, 5
setvar VAR_0x8005, 0
special sub_81B99B4
special CallVerdanturfTentFunction
playse SE_SAVE
waitse
msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, MSGBOX_DEFAULT
@@ -117,13 +102,10 @@ VerdanturfTown_BattleTentLobby_EventScript_201837:: @ 8201837
waitmessage
setvar VAR_0x8004, 5
setvar VAR_0x8005, 1
special sub_81B99B4
special CallVerdanturfTentFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
goto VerdanturfTown_BattleTentLobby_EventScript_2019AE
@@ -131,7 +113,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201873:: @ 8201873
lock
faceplayer
setvar VAR_0x8004, 1
special sub_81B99B4
special CallVerdanturfTentFunction
compare VAR_RESULT, 0
goto_if_ne VerdanturfTown_BattleTentLobby_EventScript_2017EE
special SavePlayerParty
@@ -148,17 +130,13 @@ VerdanturfTown_BattleTentLobby_EventScript_201893:: @ 8201893
case MULTI_B_PRESSED, VerdanturfTown_BattleTentLobby_EventScript_201A37
VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF
setvar VAR_FRONTIER_FACILITY, 2
setvar VAR_FRONTIER_BATTLE_MODE, 0
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PALACE
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
setvar VAR_RESULT, 2
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
frontier_checkineligible
compare VAR_0x8004, TRUE
goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_2019E8
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 1
setvar VAR_0x8006, 2
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_TENT
msgbox VerdanturfTown_BattleTentLobby_Text_2C5633, MSGBOX_DEFAULT
fadescreen 1
setvar VAR_0x8004, 1
@@ -175,19 +153,11 @@ VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF
VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 4
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_0x8004, 0
special sub_81B99B4
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
special CallVerdanturfTentFunction
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
@@ -198,7 +168,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954
VerdanturfTown_BattleTentLobby_EventScript_2019AE:: @ 82019AE
special SavePlayerParty
frontier_loadselectedmons
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox VerdanturfTown_BattleTentLobby_Text_2C56A2, MSGBOX_DEFAULT
closemessage
call VerdanturfTown_BattleTentLobby_EventScript_201A41
@@ -213,8 +183,8 @@ VerdanturfTown_BattleTentLobby_EventScript_2019DB:: @ 82019DB
VerdanturfTown_BattleTentLobby_EventScript_2019E8:: @ 82019E8
switch VAR_RESULT
case 0, VerdanturfTown_BattleTentLobby_EventScript_201A03
case 1, VerdanturfTown_BattleTentLobby_EventScript_201A10
case FRONTIER_LVL_50, VerdanturfTown_BattleTentLobby_EventScript_201A03
case FRONTIER_LVL_OPEN, VerdanturfTown_BattleTentLobby_EventScript_201A10
VerdanturfTown_BattleTentLobby_EventScript_201A03:: @ 8201A03
msgbox VerdanturfTown_BattleTentLobby_Text_2C543D, MSGBOX_DEFAULT
@@ -225,18 +195,13 @@ VerdanturfTown_BattleTentLobby_EventScript_201A10:: @ 8201A10
goto VerdanturfTown_BattleTentLobby_EventScript_201A3F
VerdanturfTown_BattleTentLobby_EventScript_201A1D:: @ 8201A1D
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
special CallFrontierUtilFunc
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
goto VerdanturfTown_BattleTentLobby_EventScript_201A37
VerdanturfTown_BattleTentLobby_EventScript_201A34:: @ 8201A34
special LoadPlayerParty
VerdanturfTown_BattleTentLobby_EventScript_201A37:: @ 8201A37
msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, MSGBOX_DEFAULT
VerdanturfTown_BattleTentLobby_EventScript_201A3F:: @ 8201A3F
release
end
+10 -10
View File
@@ -92,9 +92,9 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp:: @ 82C3F6F
battlepike_getstreak
addvar VAR_RESULT, 1
battlepike_setstreak VAR_RESULT
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
frontier_setbattlenum VAR_RESULT
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
battlepike_setnextroom
battlepike_getroomtype
switch VAR_RESULT
@@ -160,9 +160,9 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_Exit:: @ 82C40A2
battlepike_getstreak
addvar VAR_RESULT, 1
battlepike_setstreak VAR_RESULT
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
frontier_setbattlenum VAR_RESULT
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
battlepike_isfinalroom
compare VAR_RESULT, TRUE
call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
@@ -204,9 +204,9 @@ BattleFrontier_BattlePikeRoomWildMons_EventScript_2C4174:: @ 82C4174
battlepike_getstreak
addvar VAR_RESULT, 1
battlepike_setstreak VAR_RESULT
frontier_getbattlenum
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
frontier_setbattlenum VAR_RESULT
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
battlepike_isfinalroom
compare VAR_RESULT, TRUE
call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
@@ -229,17 +229,17 @@ BattleFrontier_BattlePikeRoomWildMons_EventScript_2C420D:: @ 82C420D
end
BattleFrontier_BattlePike_EventScript_Retire:: @ 82C4222
frontier_setchallengestatus CHALLENGE_STATUS_LOST
frontier_set FRONTIER_DATA_CHALLENGE_STATUS CHALLENGE_STATUS_LOST
warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
waitstate
end
BattleFrontier_BattlePikeRoom_OnResume: @ 82C423E
setorcopyvar VAR_0x8006, VAR_RESULT
frontier_getchallengestatus
compare VAR_RESULT, 2
frontier_get FRONTIER_DATA_CHALLENGE_STATUS
compare VAR_RESULT, CHALLENGE_STATUS_PAUSED
goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B
compare VAR_RESULT, 1
compare VAR_RESULT, CHALLENGE_STATUS_SAVING
goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B
call BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves
BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B:: @ 82C426B
+1 -1
View File
@@ -1,7 +1,7 @@
TrainerHill_OnResume: @ 82C8336
setvar VAR_TEMP_2, 0
trainerhill_resumetimer
frontier_getbattleoutcome
frontier_get FRONTIER_DATA_BATTLE_OUTCOME
compare VAR_RESULT, B_OUTCOME_LOST
goto_if_eq TrainerHill_1F_EventScript_Lost
compare VAR_RESULT, B_OUTCOME_DREW
+3 -3
View File
@@ -253,9 +253,9 @@ gSpecials:: @ 81DBA64
def_special CallBattlePikeFunction
def_special CallBattlePyramidFunction
def_special StopMapMusic
def_special sub_81B99B4
def_special sub_81B9B80
def_special sub_81B9D08
def_special CallVerdanturfTentFunction
def_special CallFallarborTentFunction
def_special CallSlateportTentFunction
def_special sub_80F9490
def_special ValidateEReaderTrainer
def_special GetBestBattleTowerStreak
+1 -1
View File
@@ -259,7 +259,7 @@ extern const u8 gText_Love[];
extern const u8 gText_SpaceAndSpace[];
extern const u8 gText_CommaSpace[];
extern const u8 gText_Space2[];
extern const u8 gText_ScrollTextUp[];
extern const u8 gText_LineBreak[];
extern const u8 gText_NewLine[];
extern const u8 gText_Are[];
extern const u8 gText_Are2[];
+4 -4
View File
@@ -33,10 +33,9 @@
#define FRONTIER_MODE_LINK_MULTIS 3
#define FRONTIER_MODE_COUNT 4
// TODO
#define CHALLENGE_STATUS_INACTIVE 0
#define CHALLENGE_STATUS_CANCEL 1
#define CHALLENGE_STATUS_ONGOING 2
// Challenge Statuses
#define CHALLENGE_STATUS_SAVING 1
#define CHALLENGE_STATUS_PAUSED 2
#define CHALLENGE_STATUS_WON 3
#define CHALLENGE_STATUS_LOST 4
@@ -54,6 +53,7 @@
#define SPECIAL_BATTLE_PYRAMID 10
#define MAX_BATTLE_FRONTIER_POINTS 9999
#define MAX_STREAK 9999
// These sets of facility ids would be redunant if the order was consistent
// The order is important for this set so that all the non-link records can be continuous
+40 -14
View File
@@ -12,27 +12,26 @@
#define FRONTIER_BRAIN_STREAK 3 // for encountering the brain after getting both symbols
#define FRONTIER_BRAIN_STREAK_LONG 4 //
#define FRONTIER_UTIL_FUNC_GET_STATUS 0
#define FRONTIER_UTIL_FUNC_GET_DATA 1
#define FRONTIER_UTIL_FUNC_SET_DATA 2
#define FRONTIER_UTIL_FUNC_LOAD_SELECTED_PARTY 3
#define FRONTIER_UTIL_FUNC_SET_PARTY_ORDER 3
#define FRONTIER_UTIL_FUNC_SOFT_RESET 4
#define FRONTIER_UTIL_FUNC_SET_FRONTIER_TRAINERS 5
#define FRONTIER_UTIL_FUNC_6 6
#define FRONTIER_UTIL_FUNC_SET_TRAINERS 5
#define FRONTIER_UTIL_FUNC_SAVE_PARTY 6
#define FRONTIER_UTIL_FUNC_RESULTS_WINDOW 7
#define FRONTIER_UTIL_FUNC_8 8
#define FRONTIER_UTIL_FUNC_CHECK_AIR_TV_SHOW 8
#define FRONTIER_UTIL_FUNC_GET_BRAIN_STATUS 9
#define FRONTIER_UTIL_FUNC_IS_FRONTIER_BRAIN 10
#define FRONTIER_UTIL_FUNC_11 11
#define FRONTIER_UTIL_FUNC_IS_BRAIN 10
#define FRONTIER_UTIL_FUNC_GIVE_BATTLE_POINTS 11
#define FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS 12
#define FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL 13
#define FRONTIER_UTIL_FUNC_CHECK_BATTLE_TYPE 14
#define FRONTIER_UTIL_FUNC_15 15
#define FRONTIER_UTIL_FUNC_CHECK_INELIGIBLE 15
#define FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER 16
#define FRONTIER_UTIL_FUNC_17 17
#define FRONTIER_UTIL_FUNC_18 18
#define FRONTIER_UTIL_FUNC_19 19
#define FRONTIER_UTIL_FUNC_INCREMENT_STREAK 17
#define FRONTIER_UTIL_FUNC_RESTORE_HELD_ITEMS 18
#define FRONTIER_UTIL_FUNC_SAVE_BATTLE 19
#define FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME 20
#define FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES 21
#define FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT 22
@@ -40,10 +39,37 @@
#define FRONTIER_DATA_CHALLENGE_STATUS 0
#define FRONTIER_DATA_LVL_MODE 1
#define FRONTIER_DATA_BATTLE_NUM 2
#define FRONTIER_DATA_3 3
#define FRONTIER_DATA_4 4
#define FRONTIER_DATA_PAUSED 3
#define FRONTIER_DATA_SELECTED_MON_ORDER 4
#define FRONTIER_DATA_BATTLE_OUTCOME 5
#define FRONTIER_DATA_6 6
#define FRONTIER_DATA_SYMBOL 7
#define FRONTIER_DATA_HEARD_BRAIN_SPEECH 7
#define STREAK_TOWER_SINGLES_50 (1 << 0)
#define STREAK_TOWER_SINGLES_OPEN (1 << 1)
#define STREAK_DOME_SINGLES_50 (1 << 2)
#define STREAK_DOME_SINGLES_OPEN (1 << 3)
#define STREAK_PALACE_SINGLES_50 (1 << 4)
#define STREAK_PALACE_SINGLES_OPEN (1 << 5)
#define STREAK_ARENA_50 (1 << 6)
#define STREAK_ARENA_OPEN (1 << 7)
#define STREAK_FACTORY_SINGLES_50 (1 << 8)
#define STREAK_FACTORY_SINGLES_OPEN (1 << 9)
#define STREAK_PIKE_50 (1 << 10)
#define STREAK_PIKE_OPEN (1 << 11)
#define STREAK_PYRAMID_50 (1 << 12)
#define STREAK_PYRAMID_OPEN (1 << 13)
#define STREAK_TOWER_DOUBLES_50 (1 << 14)
#define STREAK_TOWER_DOUBLES_OPEN (1 << 15)
#define STREAK_TOWER_MULTIS_50 (1 << 16)
#define STREAK_TOWER_MULTIS_OPEN (1 << 17)
#define STREAK_TOWER_LINK_MULTIS_50 (1 << 18)
#define STREAK_TOWER_LINK_MULTIS_OPEN (1 << 19)
#define STREAK_DOME_DOUBLES_50 (1 << 20)
#define STREAK_DOME_DOUBLES_OPEN (1 << 21)
#define STREAK_PALACE_DOUBLES_50 (1 << 22)
#define STREAK_PALACE_DOUBLES_OPEN (1 << 23)
#define STREAK_FACTORY_DOUBLES_50 (1 << 24)
#define STREAK_FACTORY_DOUBLES_OPEN (1 << 25)
#endif // GUARD_CONSTANTS_FRONTIER_UTIL_H
+8 -3
View File
@@ -56,11 +56,16 @@
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
#define TRAINER_ID_LENGTH 4
#define PARTY_SIZE 6
#define FRONTIER_PARTY_SIZE 3
#define MULTI_PARTY_SIZE PARTY_SIZE / 2
#define MAX_MON_MOVES 4
// party sizes
#define PARTY_SIZE 6
#define MULTI_PARTY_SIZE PARTY_SIZE / 2
#define FRONTIER_PARTY_SIZE 3
#define FRONTIER_DOUBLES_PARTY_SIZE 4
#define FRONTIER_MULTI_PARTY_SIZE 2
#define MAX_FRONTIER_PARTY_SIZE FRONTIER_DOUBLES_PARTY_SIZE
// string lengths
#define ITEM_NAME_LENGTH 14
#define POKEMON_NAME_LENGTH 10
+81 -1
View File
@@ -119,7 +119,7 @@
#define FACILITY_CLASS_HIKER 0x0
#define FACILITY_CLASS_AQUA_GRUNT_M 0x1
#define FACILITY_CLASS_POKEMON_BREEDER_F 0x2
#define FACILITY_CLASS_PKMN_BREEDER_F 0x2
#define FACILITY_CLASS_COOLTRAINER_M 0x3
#define FACILITY_CLASS_BIRD_KEEPER 0x4
#define FACILITY_CLASS_COLLECTOR 0x5
@@ -202,6 +202,86 @@
#define FACILITY_CLASSES_COUNT 0x52
#define RS_FACILITY_CLASS_AQUA_LEADER_ARCHIE 0x0
#define RS_FACILITY_CLASS_AQUA_GRUNT_M 0x1
#define RS_FACILITY_CLASS_AQUA_GRUNT_F 0x2
#define RS_FACILITY_CLASS_AROMA_LADY 0x3
#define RS_FACILITY_CLASS_RUIN_MANIAC 0x4
#define RS_FACILITY_CLASS_INTERVIEWER 0x5
#define RS_FACILITY_CLASS_TUBER_F 0x6
#define RS_FACILITY_CLASS_TUBER_M 0x7
#define RS_FACILITY_CLASS_COOLTRAINER_M 0x8
#define RS_FACILITY_CLASS_COOLTRAINER_F 0x9
#define RS_FACILITY_CLASS_HEX_MANIAC 0xA
#define RS_FACILITY_CLASS_LADY 0xB
#define RS_FACILITY_CLASS_BEAUTY 0xC
#define RS_FACILITY_CLASS_RICH_BOY 0xD
#define RS_FACILITY_CLASS_POKEMANIAC 0xE
#define RS_FACILITY_CLASS_SWIMMER_M 0xF
#define RS_FACILITY_CLASS_BLACK_BELT 0x10
#define RS_FACILITY_CLASS_GUITARIST 0x11
#define RS_FACILITY_CLASS_KINDLER 0x12
#define RS_FACILITY_CLASS_CAMPER 0x13
#define RS_FACILITY_CLASS_BUG_MANIAC 0x14
#define RS_FACILITY_CLASS_PSYCHIC_M 0x15
#define RS_FACILITY_CLASS_PSYCHIC_F 0x16
#define RS_FACILITY_CLASS_GENTLEMAN 0x17
#define RS_FACILITY_CLASS_ELITE_FOUR_M 0x18
#define RS_FACILITY_CLASS_ELITE_FOUR_F 0x19
#define RS_FACILITY_CLASS_LEADER_F 0x1A
#define RS_FACILITY_CLASS_LEADER_M 0x1B
#define RS_FACILITY_CLASS_LEADER_MF 0x1C
#define RS_FACILITY_CLASS_SCHOOL_KID_M 0x1D
#define RS_FACILITY_CLASS_SCHOOL_KID_F 0x1E
#define RS_FACILITY_CLASS_SR_AND_JR 0x1F
#define RS_FACILITY_CLASS_POKEFAN_M 0x20
#define RS_FACILITY_CLASS_POKEFAN_F 0x21
#define RS_FACILITY_CLASS_EXPERT_M 0x22
#define RS_FACILITY_CLASS_EXPERT_F 0x23
#define RS_FACILITY_CLASS_YOUNGSTER 0x24
#define RS_FACILITY_CLASS_CHAMPION 0x25
#define RS_FACILITY_CLASS_FISHERMAN 0x26
#define RS_FACILITY_CLASS_CYCLING_TRIATHLETE_M 0x27
#define RS_FACILITY_CLASS_CYCLING_TRIATHLETE_F 0x28
#define RS_FACILITY_CLASS_RUNNING_TRIATHLETE_M 0x29
#define RS_FACILITY_CLASS_RUNNING_TRIATHLETE_F 0x2A
#define RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_M 0x2B
#define RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_F 0x2C
#define RS_FACILITY_CLASS_DRAGON_TAMER 0x2D
#define RS_FACILITY_CLASS_BIRD_KEEPER 0x2E
#define RS_FACILITY_CLASS_NINJA_BOY 0x2F
#define RS_FACILITY_CLASS_BATTLE_GIRL 0x30
#define RS_FACILITY_CLASS_PARASOL_LADY 0x31
#define RS_FACILITY_CLASS_SWIMMER_F 0x32
#define RS_FACILITY_CLASS_PICNICKER 0x33
#define RS_FACILITY_CLASS_TWINS 0x34
#define RS_FACILITY_CLASS_SAILOR 0x35
#define RS_FACILITY_CLASS_BOARDER_1 0x36
#define RS_FACILITY_CLASS_BOARDER_2 0x37
#define RS_FACILITY_CLASS_COLLECTOR 0x38
#define RS_FACILITY_CLASS_WALLY 0x39
#define RS_FACILITY_CLASS_BRENDAN_1 0x3A
#define RS_FACILITY_CLASS_BRENDAN_2 0x3B
#define RS_FACILITY_CLASS_BRENDAN_3 0x3C
#define RS_FACILITY_CLASS_MAY_1 0x3D
#define RS_FACILITY_CLASS_MAY_2 0x3E
#define RS_FACILITY_CLASS_MAY_3 0x3F
#define RS_FACILITY_CLASS_PKMN_BREEDER_M 0x40
#define RS_FACILITY_CLASS_PKMN_BREEDER_F 0x41
#define RS_FACILITY_CLASS_PKMN_RANGER_M 0x42
#define RS_FACILITY_CLASS_PKMN_RANGER_F 0x43
#define RS_FACILITY_CLASS_MAGMA_LEADER 0x44
#define RS_FACILITY_CLASS_MAGMA_GRUNT_M 0x45
#define RS_FACILITY_CLASS_MAGMA_GRUNT_F 0x46
#define RS_FACILITY_CLASS_LASS 0x47
#define RS_FACILITY_CLASS_BUG_CATCHER 0x48
#define RS_FACILITY_CLASS_HIKER 0x49
#define RS_FACILITY_CLASS_YOUNG_COUPLE 0x4A
#define RS_FACILITY_CLASS_OLD_COUPLE 0x4B
#define RS_FACILITY_CLASS_SIS_AND_BRO 0x4C
#define RS_FACILITY_CLASSES_COUNT 0x4D
#define TRAINER_CLASS_PKMN_TRAINER_1 0x0 // Unused
#define TRAINER_CLASS_PKMN_TRAINER_2 0x1 // Unused
#define TRAINER_CLASS_HIKER 0x2
+3 -3
View File
@@ -4,14 +4,14 @@
void CallFrontierUtilFunc(void);
u8 GetFrontierBrainStatus(void);
void CopyFrontierTrainerText(u8 whichText, u16 trainerId);
void sub_81A3908(void);
void ResetWinStreaks(void);
u32 GetCurrentFacilityWinStreak(void);
void sub_81A3ACC(void);
void ResetFrontierTrainerIds(void);
u8 GetPlayerSymbolCountForFacility(u8 facility);
void ShowRankingHallRecordsWindow(void);
void ScrollRankingHallRecordsWindow(void);
void ClearRankingHallRecords(void);
void sub_81A4C30(void);
void SaveGameFrontier(void);
u8 GetFrontierBrainTrainerPicIndex(void);
u8 GetFrontierBrainTrainerClass(void);
void CopyFrontierBrainTrainerName(u8 *dst);
+35 -31
View File
@@ -269,11 +269,20 @@ struct EmeraldBattleTowerRecord
/*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x1C*/ u16 speechWon[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x28*/ u16 speechLost[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x34*/ struct BattleTowerPokemon party[4];
/*0x34*/ struct BattleTowerPokemon party[MAX_FRONTIER_PARTY_SIZE];
/*0xE4*/ u8 language;
/*0xE8*/ u32 checksum;
};
struct BattleTowerInterview
{
u16 playerSpecies;
u16 opponentSpecies;
u8 opponentName[PLAYER_NAME_LENGTH + 1];
u8 opponentMonNickname[POKEMON_NAME_LENGTH + 1];
u8 opponentLanguage;
};
struct BattleTowerEReaderTrainer
{
/*0x00*/ u8 unk0;
@@ -317,32 +326,27 @@ struct BattleFrontier
{
/*0x64C*/ struct EmeraldBattleTowerRecord towerPlayer;
/*0x738*/ struct EmeraldBattleTowerRecord towerRecords[5]; // From record mixing.
/*0xBD4*/ u16 field_BD4;
/*0xBD6*/ u16 field_BD6;
/*0xBD8*/ u8 field_BD8[PLAYER_NAME_LENGTH + 1];
/*0xBE3*/ u8 field_BE0[POKEMON_NAME_LENGTH + 1];
/*0xBEB*/ u8 field_BEB;
/*0xBEB*/ struct BattleTowerInterview towerInterview;
/*0xBEC*/ struct BattleTowerEReaderTrainer ereaderTrainer;
/*0xCA8*/ u8 challengeOutcome;
/*0xCA9*/ u8 lvlMode:2; // 0x1, 0x2 -> 0x3
/*0xCA9*/ u8 field_CA9_a:1; // 0x4
/*0xCA9*/ u8 field_CA9_b:1; // 0x8
/*0xCA9*/ u8 field_CA9_c:1; // 0x10
/*0xCA9*/ u8 field_CA9_d:1; // 0x20
/*0xCA9*/ u8 field_CA9_e:1; // 0x40
/*0xCA9*/ u8 field_CA9_f:1; // 0x80
/*0xCAA*/ u16 selectedPartyMons[FRONTIER_PARTY_SIZE];
/*0xCB0*/ u16 field_CB0;
/*0xCB2*/ u16 curChallengeBattleNum; // In case of battle pyramid, the floor.
/*0xCA8*/ u8 challengeStatus;
/*0xCA9*/ u8 lvlMode:2;
/*0xCA9*/ u8 challengePaused:1;
/*0xCA9*/ u8 field_CA9_b:1;
/*0xCA9*/ u8 unused_CA9_c:1;
/*0xCA9*/ u8 unused_CA9_d:1;
/*0xCA9*/ u8 unused_CA9_e:1;
/*0xCA9*/ u8 unused_CA9_f:1;
/*0xCB0*/ u16 selectedPartyMons[MAX_FRONTIER_PARTY_SIZE];
/*0xCB2*/ u16 curChallengeBattleNum; // Battle number / room number (Pike) / floor number (Pyramid)
/*0xCB4*/ u16 trainerIds[20];
/*0xCDC*/ u32 field_CDC;
/*0xCDC*/ u32 winStreakActiveFlags;
/*0xCE0*/ u16 towerWinStreaks[4][2];
/*0xCF0*/ u16 towerRecordWinStreaks[4][2];
/*0xD00*/ u16 symbolFlags;
/*0xD02*/ u16 field_D02;
/*0xD04*/ u16 field_D04;
/*0xD06*/ u8 field_D06;
/*0xD07*/ u8 field_D07;
/*0xD00*/ u16 battledBrainFlags;
/*0xD02*/ u16 towerSinglesStreak; // Never read
/*0xD04*/ u16 towerNumWins; // Increments to MAX_STREAK but never read otherwise
/*0xD06*/ u8 towerBattleOutcome;
/*0xD07*/ u8 towerLvlMode;
/*0xD08*/ u8 field_D08_0:1;
/*0xD08*/ u8 field_D08_1:1;
/*0xD08*/ u8 field_D08_2:1;
@@ -388,19 +392,19 @@ struct BattleFrontier
/*0xE6A*/ u16 field_E6A;
/*0xE6C*/ u16 field_E6C;
/*0xE6E*/ u16 field_E6E;
/*0xE70*/ struct RentalMon rentalMons[6];
/*0xE70*/ struct RentalMon rentalMons[PARTY_SIZE];
/*0xEB8*/ u16 battlePoints;
/*0xEBA*/ u16 field_EBA;
/*0xEBA*/ u16 cardBattlePoints;
/*0xEBC*/ u32 battlesCount;
/*0xEC0*/ u16 field_EC0[16];
/*0xEE0*/ u8 trainerFlags;
/*0xEE1*/ u8 opponentName[2][PLAYER_NAME_LENGTH + 1];
/*0xEF1*/ u8 field_EF1[2][4];
/*0xEF9*/ u8 unk_EF9:7;
/*0xEE1*/ u8 opponentNames[2][PLAYER_NAME_LENGTH + 1];
/*0xEF1*/ u8 opponentTrainerIds[2][TRAINER_ID_LENGTH];
/*0xEF9*/ u8 unk_EF9:7; // Never read
/*0xEF9*/ u8 savedGame:1;
/*0xEFA*/ u8 field_EFA;
/*0xEFB*/ u8 field_EFB;
/*0xEFC*/ struct FrontierMonData field_EFC[3];
/*0xEFA*/ u8 unused_EFA;
/*0xEFB*/ u8 unused_EFB;
/*0xEFC*/ struct FrontierMonData field_EFC[FRONTIER_PARTY_SIZE];
};
struct ApprenticeQuestion
+1 -1
View File
@@ -1304,7 +1304,7 @@ extern const u8 gText_1st[];
extern const u8 gText_SpaceAndSpace[];
extern const u8 gText_CommaSpace[];
extern const u8 gText_NewLine[];
extern const u8 gText_ScrollTextUp[];
extern const u8 gText_LineBreak[];
extern const u8 gText_Space[];
extern const u8 gText_Space2[];
extern const u8 gText_Are[];
+2 -2
View File
@@ -9,7 +9,7 @@ extern u8 *const gTVStringVarPtrs[3];
void ClearTVShowData(void);
void sub_80EE184(void);
void sub_80EE35C(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u16 betterMove);
void sub_80EE8C8(u16 winStreak, u8 facility);
void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facility);
void DoTVShow(void);
void DoTVShowInSearchOfTrainers(void);
void TryPutTreasureInvestigatorsOnAir(void);
@@ -56,7 +56,7 @@ void InterviewAfter(void);
void UpdateTVScreensOnMap(int, int);
void TV_PrintIntToStringVar(u8 varIdx, int value);
void SaveRecordedItemPurchasesForTVShow(void);
bool8 sub_80EE818(void);
bool8 ShouldAirFrontierTVShow(void);
void sub_80EE8C8(u16 winStreak, u8 facilityAndMode);
void BravoTrainerPokemonProfile_BeforeInterview2(u8 contestStandingPlace);
void ContestLiveUpdates_BeforeInterview_1(u8 a0);
+14 -13
View File
@@ -22,6 +22,7 @@
#include "constants/songs.h"
#include "constants/battle_string_ids.h"
#include "constants/battle_frontier.h"
#include "constants/frontier_util.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/rgb.h"
@@ -786,14 +787,14 @@ static void InitArenaChallenge(void)
bool32 isCurrent;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
gSaveBlock2Ptr->frontier.challengeOutcome = 0;
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
if (lvlMode != FRONTIER_LVL_50)
isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x80;
isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_OPEN;
else
isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x40;
isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_50;
if (!isCurrent)
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = 0;
@@ -816,9 +817,9 @@ static void GetArenaData(void)
break;
case 2:
if (lvlMode != FRONTIER_LVL_50)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x80;
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_OPEN;
else
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x40;
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_50;
break;
}
}
@@ -839,16 +840,16 @@ static void SetArenaData(void)
if (lvlMode != FRONTIER_LVL_50)
{
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= 0x80;
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_ARENA_OPEN;
else
gSaveBlock2Ptr->frontier.field_CDC &= ~(0x80);
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_ARENA_OPEN);
}
else
{
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= 0x40;
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_ARENA_50;
else
gSaveBlock2Ptr->frontier.field_CDC &= ~(0x40);
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_ARENA_50);
}
break;
}
@@ -856,10 +857,10 @@ static void SetArenaData(void)
static void sub_81A5AC4(void)
{
gSaveBlock2Ptr->frontier.challengeOutcome = gSpecialVar_0x8005;
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = 1;
sub_81A4C30();
gSaveBlock2Ptr->frontier.challengePaused = TRUE;
SaveGameFrontier();
}
static void SetArenaRewardItem(void)
+23 -23
View File
@@ -1104,16 +1104,16 @@ static void (* const sBattleDomeFunctions[])(void) =
InitDomeTrainers,
};
static const u32 gUnknown_0860D0EC[][2] =
static const u32 sWinStreakFlags[][2] =
{
{0x00000004, 0x00000008},
{0x00100000, 0x00200000},
{STREAK_DOME_SINGLES_50, STREAK_DOME_SINGLES_OPEN},
{STREAK_DOME_DOUBLES_50, STREAK_DOME_DOUBLES_OPEN},
};
static const u32 gUnknown_0860D0FC[][2] =
static const u32 sWinStreakMasks[][2] =
{
{0xfffffffb, 0xfffffff7},
{0xffefffff, 0xffdfffff},
{~(STREAK_DOME_SINGLES_50), ~(STREAK_DOME_SINGLES_OPEN)},
{~(STREAK_DOME_DOUBLES_50), ~(STREAK_DOME_DOUBLES_OPEN)},
};
static const u8 sIdToOpponentId[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] =
@@ -2262,11 +2262,11 @@ static void InitDomeChallenge(void)
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
gSaveBlock2Ptr->frontier.challengeOutcome = 0;
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[battleMode][lvlMode]))
if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]))
gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = 0;
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
@@ -2284,7 +2284,7 @@ static void GetDomeData(void)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
break;
case 1:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[battleMode][lvlMode]) != 0);
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
case 2:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_0;
@@ -2332,8 +2332,8 @@ static void GetDomeData(void)
break;
case 8:
ClearSelectedPartyOrder();
gSelectedOrderFromParty[0] = gSaveBlock2Ptr->frontier.field_CB0;
gSelectedOrderFromParty[1] = gSaveBlock2Ptr->frontier.field_CB0 >> 8;
gSelectedOrderFromParty[0] = gSaveBlock2Ptr->frontier.selectedPartyMons[3];
gSelectedOrderFromParty[1] = gSaveBlock2Ptr->frontier.selectedPartyMons[3] >> 8;
break;
case 9:
gSpecialVar_Result = (gSaveBlock2Ptr->frontier.field_D0A * 2) - 3 + gSaveBlock2Ptr->frontier.field_D0B;
@@ -2353,9 +2353,9 @@ static void SetDomeData(void)
break;
case 1:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860D0EC[battleMode][lvlMode];
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860D0FC[battleMode][lvlMode];
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode];
break;
case 2:
gSaveBlock2Ptr->frontier.field_D08_0 = gSpecialVar_0x8006;
@@ -2402,7 +2402,7 @@ static void SetDomeData(void)
}
break;
case 8:
gSaveBlock2Ptr->frontier.field_CB0 = T1_READ_16(gSelectedOrderFromParty);
gSaveBlock2Ptr->frontier.selectedPartyMons[3] = T1_READ_16(gSelectedOrderFromParty);
break;
}
}
@@ -2432,12 +2432,12 @@ static void InitDomeTrainers(void)
gSaveBlock2Ptr->frontier.domeTrainers[0].eliminatedAt = 0;
gSaveBlock2Ptr->frontier.domeTrainers[0].unk3 = 0;
for (i = 0; i < 3; i++)
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
gSaveBlock2Ptr->frontier.domeMonIds[0][i] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_SPECIES, NULL);
for (j = 0; j < MAX_MON_MOVES; j++)
gSaveBlock2Ptr->frontier.field_EFC[i].moves[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_MOVE1 + j, NULL);
for (j = 0; j < 6; j++)
for (j = 0; j < NUM_STATS; j++)
gSaveBlock2Ptr->frontier.field_EFC[i].evs[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_HP_EV + j, NULL);
gSaveBlock2Ptr->frontier.field_EFC[i].nature = GetNature(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1]);
@@ -2500,9 +2500,9 @@ static void InitDomeTrainers(void)
monTypesBits = 0;
statSums[0] = 0;
for (i = 0; i < 3; i++)
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
trainerId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1; // Great variable choice, gamefreak.
trainerId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_ATK, NULL);
statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_DEF, NULL);
statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPATK, NULL);
@@ -3329,10 +3329,10 @@ static void SetDomeOpponentGraphicsId(void)
static void sub_81902F8(void)
{
gSaveBlock2Ptr->frontier.challengeOutcome = gSpecialVar_0x8005;
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = 1;
sub_81A4C30();
gSaveBlock2Ptr->frontier.challengePaused = TRUE;
SaveGameFrontier();
}
static void UpdateDomeStreaks(void)
@@ -6017,7 +6017,7 @@ static void sub_8194F58(void)
species[0] = 0;
species[1] = 0;
species[2] = 0;
if ((gSaveBlock2Ptr->frontier.field_D0A != -gSaveBlock2Ptr->frontier.field_D0B) && gSaveBlock2Ptr->frontier.challengeOutcome != 1)
if ((gSaveBlock2Ptr->frontier.field_D0A != -gSaveBlock2Ptr->frontier.field_D0B) && gSaveBlock2Ptr->frontier.challengeStatus != CHALLENGE_STATUS_SAVING)
return;
statSums = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT);
+16 -15
View File
@@ -11,6 +11,7 @@
#include "constants/species.h"
#include "constants/battle_ai.h"
#include "constants/battle_frontier.h"
#include "constants/frontier_util.h"
#include "constants/layouts.h"
#include "constants/trainers.h"
#include "constants/moves.h"
@@ -131,16 +132,16 @@ static void (* const sBattleFactoryFunctions[])(void) =
RestorePlayerPartyHeldItems,
};
static const u32 gUnknown_08612164[][2] =
static const u32 sWinStreakFlags[][2] =
{
{0x100, 0x200},
{0x1000000, 0x2000000},
{STREAK_FACTORY_SINGLES_50, STREAK_FACTORY_SINGLES_OPEN},
{STREAK_FACTORY_DOUBLES_50, STREAK_FACTORY_DOUBLES_OPEN},
};
static const u32 gUnknown_08612174[][2] =
static const u32 sWinStreakMasks[][2] =
{
{0xfffffeff, 0xfffffdff},
{0xfeffffff, 0xfdffffff},
{~(STREAK_FACTORY_SINGLES_50), ~(STREAK_FACTORY_SINGLES_OPEN)},
{~(STREAK_FACTORY_DOUBLES_50), ~(STREAK_FACTORY_DOUBLES_OPEN)},
};
static const u8 sFixedIVTable[][2] =
@@ -187,11 +188,11 @@ static void InitFactoryChallenge(void)
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
gSaveBlock2Ptr->frontier.challengeOutcome = 0;
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_08612164[battleMode][lvlMode]))
if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]))
{
gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] = 0;
gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode] = 0;
@@ -218,7 +219,7 @@ static void GetBattleFactoryData(void)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode];
break;
case 2:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_08612164[battleMode][lvlMode]) != 0);
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
case 3:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode];
@@ -238,9 +239,9 @@ static void SetBattleFactoryData(void)
break;
case 2:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_08612164[battleMode][lvlMode];
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_08612174[battleMode][lvlMode];
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode];
break;
case 3:
if (sPerformedRentalSwap == TRUE)
@@ -254,10 +255,10 @@ static void SetBattleFactoryData(void)
static void sub_81A613C(void)
{
gSaveBlock2Ptr->frontier.challengeOutcome = gSpecialVar_0x8005;
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = 1;
sub_81A4C30();
gSaveBlock2Ptr->frontier.challengePaused = TRUE;
SaveGameFrontier();
}
static void nullsub_75(void)
+1 -1
View File
@@ -1195,7 +1195,7 @@ const u8 gText_Love[] = _("love");
const u8 gText_SpaceAndSpace[] = _(" and ");
const u8 gText_CommaSpace[] = _(", ");
const u8 gText_Space2[] = _(" ");
const u8 gText_ScrollTextUp[] = _("\l");
const u8 gText_LineBreak[] = _("\l");
const u8 gText_NewLine[] = _("\n");
const u8 gText_Are[] = _("are");
const u8 gText_Are2[] = _("are");
+18 -16
View File
@@ -8,6 +8,8 @@
#include "item.h"
#include "string_util.h"
#include "constants/items.h"
#include "constants/battle_frontier.h"
#include "constants/frontier_util.h"
// This file's functions.
static void sub_8195980(void);
@@ -39,16 +41,16 @@ static void (* const sBattlePalaceFunctions[])(void) =
static const u16 gUnknown_0860DE78[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
static const u16 gUnknown_0860DE84[] = {ITEM_BRIGHT_POWDER, ITEM_WHITE_HERB, ITEM_QUICK_CLAW, ITEM_LEFTOVERS, ITEM_MENTAL_HERB, ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, ITEM_CHOICE_BAND};
static const u32 gUnknown_0860DE98[][2] =
static const u32 sWinStreakFlags[][2] =
{
{0x10, 0x20},
{0x400000, 0x800000},
{STREAK_PALACE_SINGLES_50, STREAK_PALACE_SINGLES_OPEN},
{STREAK_PALACE_DOUBLES_50, STREAK_PALACE_DOUBLES_OPEN},
};
static const u32 gUnknown_0860DEA8[][2] =
static const u32 sWinStreakMasks[][2] =
{
{~0x10, ~0x20},
{~0x400000, ~0x800000},
{~(STREAK_PALACE_SINGLES_50), ~(STREAK_PALACE_SINGLES_OPEN)},
{~(STREAK_PALACE_DOUBLES_50), ~(STREAK_PALACE_DOUBLES_OPEN)},
};
// code
@@ -62,11 +64,11 @@ static void sub_8195980(void)
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
gSaveBlock2Ptr->frontier.challengeOutcome = 0;
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]))
if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]))
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = 0;
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
@@ -87,7 +89,7 @@ static void sub_8195A38(void)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
break;
case 2:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]) != 0);
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
}
}
@@ -107,9 +109,9 @@ static void sub_8195AE4(void)
break;
case 2:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860DE98[battleMode][lvlMode];
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860DEA8[battleMode][lvlMode];
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode];
break;
}
}
@@ -144,7 +146,7 @@ static void sub_8195C7C(void)
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 9999)
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < MAX_STREAK)
{
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]++;
@@ -156,10 +158,10 @@ static void sub_8195C7C(void)
static void sub_8195CE4(void)
{
gSaveBlock2Ptr->frontier.challengeOutcome = gSpecialVar_0x8005;
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = 1;
sub_81A4C30();
gSaveBlock2Ptr->frontier.challengePaused = TRUE;
SaveGameFrontier();
}
static void sub_8195D28(void)
+18 -17
View File
@@ -15,6 +15,7 @@
#include "battle_setup.h"
#include "constants/event_objects.h"
#include "constants/battle_frontier.h"
#include "constants/frontier_util.h"
#include "constants/abilities.h"
#include "constants/easy_chat.h"
#include "constants/layouts.h"
@@ -537,7 +538,7 @@ static bool8 (* const sStatusInflictionScreenFadeFuncs[])(struct Task *) =
StatusInflictionFadeOut, StatusInflictionFadeIn
};
static const u32 gUnknown_08612690[] = {0x400, 0x800};
static const u32 sWinStreakFlags[] = {STREAK_PIKE_50, STREAK_PIKE_OPEN};
// code
void CallBattlePikeFunction(void)
@@ -636,9 +637,9 @@ static void GetBattlePikeData(void)
break;
case 4:
if (lvlMode != FRONTIER_LVL_50)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x800;
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PIKE_OPEN;
else
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x400;
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PIKE_50;
break;
}
}
@@ -653,31 +654,31 @@ static void SetBattlePikeData(void)
gSaveBlock2Ptr->frontier.field_E02 = gSpecialVar_0x8006;
break;
case 1:
if (gSpecialVar_0x8006 <= 9999)
if (gSpecialVar_0x8006 <= MAX_STREAK)
gSaveBlock2Ptr->frontier.pikeWinStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
break;
case 2:
if (gSpecialVar_0x8006 <= 9999 && gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] < gSpecialVar_0x8006)
if (gSpecialVar_0x8006 <= MAX_STREAK && gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] < gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
break;
case 3:
if (gSpecialVar_0x8006 <= 9999)
if (gSpecialVar_0x8006 <= MAX_STREAK)
gSaveBlock2Ptr->frontier.pikeTotalStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
break;
case 4:
if (lvlMode != FRONTIER_LVL_50)
{
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= 0x800;
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_PIKE_OPEN;
else
gSaveBlock2Ptr->frontier.field_CDC &= ~(0x800);
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PIKE_OPEN);
}
else
{
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= 0x400;
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_PIKE_50;
else
gSaveBlock2Ptr->frontier.field_CDC &= ~(0x400);
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PIKE_50);
}
break;
}
@@ -708,9 +709,9 @@ static void sub_81A740C(void)
static void sub_81A7418(void)
{
gSaveBlock2Ptr->frontier.challengeOutcome = gSpecialVar_0x8005;
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = 1;
gSaveBlock2Ptr->frontier.challengePaused = TRUE;
save_serialize_map();
TrySavingData(SAVE_LINK);
}
@@ -1587,7 +1588,7 @@ static void BackupMonHeldItems(void)
{
u8 i;
for (i = 0; i < 3; i++)
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
int heldItem = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1],
MON_DATA_HELD_ITEM);
@@ -1599,7 +1600,7 @@ static void RestoreMonHeldItems(void)
{
u8 i;
for (i = 0; i < 3; i++)
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
SetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1],
MON_DATA_HELD_ITEM,
@@ -1611,10 +1612,10 @@ static void InitPikeChallenge(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
gSaveBlock2Ptr->frontier.challengeOutcome = 0;
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_08612690[lvlMode]))
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[lvlMode]))
gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] = 0;
gTrainerBattleOpponent_A = 0;
+21 -20
View File
@@ -30,6 +30,7 @@
#include "constants/battle_pyramid.h"
#include "constants/event_objects.h"
#include "constants/event_object_movement_constants.h"
#include "constants/frontier_util.h"
#include "constants/items.h"
#include "constants/layouts.h"
#include "constants/maps.h"
@@ -514,7 +515,7 @@ static const u8 sTrainerTextGroups[50][2] =
{FACILITY_CLASS_SAILOR, 2},
{FACILITY_CLASS_COLLECTOR, 2},
{FACILITY_CLASS_PKMN_BREEDER_M, 2},
{FACILITY_CLASS_POKEMON_BREEDER_F, 3},
{FACILITY_CLASS_PKMN_BREEDER_F, 3},
{FACILITY_CLASS_PKMN_RANGER_M, 2},
{FACILITY_CLASS_PKMN_RANGER_F, 3},
{FACILITY_CLASS_LASS, 3},
@@ -842,13 +843,13 @@ static void InitPyramidChallenge(void)
bool32 isCurrent;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
gSaveBlock2Ptr->frontier.challengeOutcome = 0;
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
if (lvlMode != FRONTIER_LVL_50)
isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x2000;
isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN;
else
isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x1000;
isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50;
if (!isCurrent)
{
@@ -875,9 +876,9 @@ static void GetBattlePyramidData(void)
break;
case 2:
if (lvlMode != FRONTIER_LVL_50)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x2000;
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN;
else
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x1000;
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50;
break;
case 3:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50];
@@ -886,10 +887,10 @@ static void GetBattlePyramidData(void)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN];
break;
case 5:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x1000;
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50;
break;
case 6:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x2000;
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN;
break;
}
}
@@ -910,16 +911,16 @@ static void SetBattlePyramidData(void)
if (lvlMode != FRONTIER_LVL_50)
{
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= 0x2000;
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_PYRAMID_OPEN;
else
gSaveBlock2Ptr->frontier.field_CDC &= ~(0x2000);
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PYRAMID_OPEN);
}
else
{
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= 0x1000;
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_PYRAMID_50;
else
gSaveBlock2Ptr->frontier.field_CDC &= ~(0x1000);
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PYRAMID_50);
}
break;
case 7:
@@ -930,9 +931,9 @@ static void SetBattlePyramidData(void)
static void sub_81A9134(void)
{
gSaveBlock2Ptr->frontier.challengeOutcome = gSpecialVar_0x8005;
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = 1;
gSaveBlock2Ptr->frontier.challengePaused = TRUE;
save_serialize_map();
TrySavingData(SAVE_LINK);
}
@@ -1169,7 +1170,7 @@ static void ClearPyramidPartyHeldItems(void)
for (i = 0; i < PARTY_SIZE; i++)
{
for (j = 0; j < 4; j++)
for (j = 0; j < MAX_FRONTIER_PARTY_SIZE; j++)
{
if (gSaveBlock2Ptr->frontier.selectedPartyMons[j] != 0 && gSaveBlock2Ptr->frontier.selectedPartyMons[j] - 1 == i)
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &item);
@@ -1200,10 +1201,10 @@ static void RestorePyramidPlayerParty(void)
{
int i, j, k, l;
for (i = 0; i < 3; i++)
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
int partyIndex = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
for (j = 0; j < 3; j++)
for (j = 0; j < FRONTIER_PARTY_SIZE; j++)
{
if (GetMonData(&gSaveBlock1Ptr->playerParty[partyIndex], MON_DATA_SPECIES, NULL) == GetMonData(&gPlayerParty[j], MON_DATA_SPECIES, NULL))
{
@@ -1224,7 +1225,7 @@ static void RestorePyramidPlayerParty(void)
}
}
for (i = 0; i < 3; i++)
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
gSaveBlock2Ptr->frontier.selectedPartyMons[i] = gSelectedOrderFromParty[i];
}
@@ -1434,7 +1435,7 @@ void sub_81A9E90(void)
if (InBattlePyramid())
{
RestorePyramidPlayerParty();
gSaveBlock2Ptr->frontier.challengeOutcome = 2;
gSaveBlock2Ptr->frontier.challengeStatus = CHALLENGE_STATUS_PAUSED;
VarSet(VAR_TEMP_E, 0);
LoadPlayerParty();
}
+24 -24
View File
@@ -47,7 +47,7 @@ static void sub_81B9EC0(void);
static u16 sRandMonSetId;
// const rom data
void static (*const gUnknown_086160B4[])(void) =
void static (*const sVerdanturfTentFuncs[])(void) =
{
sub_81B99D4,
sub_81B9A28,
@@ -61,7 +61,7 @@ void static (*const gUnknown_086160B4[])(void) =
static const u16 sVerdanturfTentRewards[] = {ITEM_NEST_BALL};
void static (*const gUnknown_086160D8[])(void) =
void static (*const sFallarborTentFuncs[])(void) =
{
sub_81B9BA0,
sub_81B9BF4,
@@ -74,7 +74,7 @@ void static (*const gUnknown_086160D8[])(void) =
static const u16 sFallarborTentRewards[] = {ITEM_HYPER_POTION};
void static (*const gUnknown_086160F8[])(void) =
void static (*const sSlateportTentFuncs[])(void) =
{
sub_81B9D28,
sub_81B9D7C,
@@ -91,16 +91,16 @@ void static (*const gUnknown_086160F8[])(void) =
static const u16 sSlateportTentRewards[] = {ITEM_FULL_HEAL};
// code
void sub_81B99B4(void)
void CallVerdanturfTentFunction(void)
{
gUnknown_086160B4[gSpecialVar_0x8004]();
sVerdanturfTentFuncs[gSpecialVar_0x8004]();
}
static void sub_81B99D4(void)
{
gSaveBlock2Ptr->frontier.challengeOutcome = 0;
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = FALSE;
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
@@ -128,10 +128,10 @@ static void sub_81B9A90(void)
static void sub_81B9ABC(void)
{
gSaveBlock2Ptr->frontier.challengeOutcome = gSpecialVar_0x8005;
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = TRUE;
sub_81A4C30();
gSaveBlock2Ptr->frontier.challengePaused = TRUE;
SaveGameFrontier();
}
static void sub_81B9B00(void)
@@ -153,16 +153,16 @@ static void sub_81B9B28(void)
}
}
void sub_81B9B80(void)
void CallFallarborTentFunction(void)
{
gUnknown_086160D8[gSpecialVar_0x8004]();
sFallarborTentFuncs[gSpecialVar_0x8004]();
}
static void sub_81B9BA0(void)
{
gSaveBlock2Ptr->frontier.challengeOutcome = 0;
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = FALSE;
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
@@ -178,10 +178,10 @@ static void sub_81B9C10(void)
static void sub_81B9C2C(void)
{
gSaveBlock2Ptr->frontier.challengeOutcome = gSpecialVar_0x8005;
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = TRUE;
sub_81A4C30();
gSaveBlock2Ptr->frontier.challengePaused = TRUE;
SaveGameFrontier();
}
static void sub_81B9C70(void)
@@ -208,16 +208,16 @@ static void sub_81B9CF0(void)
GetFrontierTrainerName(gStringVar1, gTrainerBattleOpponent_A);
}
void sub_81B9D08(void)
void CallSlateportTentFunction(void)
{
gUnknown_086160F8[gSpecialVar_0x8004]();
sSlateportTentFuncs[gSpecialVar_0x8004]();
}
static void sub_81B9D28(void)
{
gSaveBlock2Ptr->frontier.challengeOutcome = 0;
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = FALSE;
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
@@ -233,10 +233,10 @@ static void sub_81B9D98(void)
static void sub_81B9DB4(void)
{
gSaveBlock2Ptr->frontier.challengeOutcome = gSpecialVar_0x8005;
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = TRUE;
sub_81A4C30();
gSaveBlock2Ptr->frontier.challengePaused = TRUE;
SaveGameFrontier();
}
static void sub_81B9DF8(void)
+160 -154
View File
@@ -25,6 +25,7 @@
#include "battle_factory.h"
#include "constants/battle_frontier.h"
#include "constants/battle_tower.h"
#include "constants/frontier_util.h"
#include "constants/items.h"
#include "constants/trainers.h"
#include "constants/event_objects.h"
@@ -200,7 +201,7 @@ const u8 gTowerFemaleFacilityClasses[20] =
FACILITY_CLASS_PARASOL_LADY,
FACILITY_CLASS_SWIMMER_F,
FACILITY_CLASS_PICNICKER,
FACILITY_CLASS_POKEMON_BREEDER_F,
FACILITY_CLASS_PKMN_BREEDER_F,
FACILITY_CLASS_PKMN_RANGER_F,
FACILITY_CLASS_LASS
};
@@ -263,83 +264,84 @@ const u8 gTowerFemaleTrainerGfxIds[20] =
EVENT_OBJ_GFX_LASS
};
static const u8 sRubyFacilityClassToEmerald[][2] =
// Excludes the unused RS_FACILITY_CLASS_BOARDER_1 and _2
static const u8 sRubyFacilityClassToEmerald[RS_FACILITY_CLASSES_COUNT - 2][2] =
{
{0x00, FACILITY_CLASS_AQUA_LEADER_ARCHIE},
{0x01, FACILITY_CLASS_AQUA_GRUNT_M},
{0x02, FACILITY_CLASS_AQUA_GRUNT_F},
{0x03, FACILITY_CLASS_AROMA_LADY},
{0x04, FACILITY_CLASS_RUIN_MANIAC},
{0x05, FACILITY_CLASS_INTERVIEWER},
{0x06, FACILITY_CLASS_TUBER_F},
{0x07, FACILITY_CLASS_TUBER_M},
{0x08, FACILITY_CLASS_COOLTRAINER_M},
{0x09, FACILITY_CLASS_COOLTRAINER_F},
{0x0a, FACILITY_CLASS_HEX_MANIAC},
{0x0b, FACILITY_CLASS_LADY},
{0x0c, FACILITY_CLASS_BEAUTY},
{0x0d, FACILITY_CLASS_RICH_BOY},
{0x0e, FACILITY_CLASS_POKEMANIAC},
{0x0f, FACILITY_CLASS_SWIMMER_M},
{0x10, FACILITY_CLASS_BLACK_BELT},
{0x11, FACILITY_CLASS_GUITARIST},
{0x12, FACILITY_CLASS_KINDLER},
{0x13, FACILITY_CLASS_CAMPER},
{0x14, FACILITY_CLASS_BUG_MANIAC},
{0x15, FACILITY_CLASS_PSYCHIC_M},
{0x16, FACILITY_CLASS_PSYCHIC_F},
{0x17, FACILITY_CLASS_GENTLEMAN},
{0x18, FACILITY_CLASS_ELITE_FOUR_SIDNEY},
{0x19, FACILITY_CLASS_ELITE_FOUR_PHOEBE},
{0x1a, FACILITY_CLASS_LEADER_ROXANNE},
{0x1b, FACILITY_CLASS_LEADER_BRAWLY},
{0x1c, FACILITY_CLASS_LEADER_TATE_AND_LIZA},
{0x1d, FACILITY_CLASS_SCHOOL_KID_M},
{0x1e, FACILITY_CLASS_SCHOOL_KID_F},
{0x1f, FACILITY_CLASS_SR_AND_JR},
{0x20, FACILITY_CLASS_POKEFAN_M},
{0x21, FACILITY_CLASS_POKEFAN_F},
{0x22, FACILITY_CLASS_EXPERT_M},
{0x23, FACILITY_CLASS_EXPERT_F},
{0x24, FACILITY_CLASS_YOUNGSTER},
{0x25, FACILITY_CLASS_CHAMPION_WALLACE},
{0x26, FACILITY_CLASS_FISHERMAN},
{0x27, FACILITY_CLASS_CYCLING_TRIATHLETE_M},
{0x28, FACILITY_CLASS_CYCLING_TRIATHLETE_F},
{0x29, FACILITY_CLASS_RUNNING_TRIATHLETE_M},
{0x2a, FACILITY_CLASS_RUNNING_TRIATHLETE_F},
{0x2b, FACILITY_CLASS_SWIMMING_TRIATHLETE_M},
{0x2c, FACILITY_CLASS_SWIMMING_TRIATHLETE_F},
{0x2d, FACILITY_CLASS_DRAGON_TAMER},
{0x2e, FACILITY_CLASS_BIRD_KEEPER},
{0x2f, FACILITY_CLASS_NINJA_BOY},
{0x30, FACILITY_CLASS_BATTLE_GIRL},
{0x31, FACILITY_CLASS_PARASOL_LADY},
{0x32, FACILITY_CLASS_SWIMMER_F},
{0x33, FACILITY_CLASS_PICNICKER},
{0x34, FACILITY_CLASS_TWINS},
{0x35, FACILITY_CLASS_SAILOR},
{0x38, FACILITY_CLASS_COLLECTOR},
{0x39, FACILITY_CLASS_WALLY},
{0x3a, FACILITY_CLASS_BRENDAN},
{0x3b, FACILITY_CLASS_BRENDAN_2},
{0x3c, FACILITY_CLASS_BRENDAN_3},
{0x3d, FACILITY_CLASS_MAY},
{0x3e, FACILITY_CLASS_MAY_2},
{0x3f, FACILITY_CLASS_MAY_3},
{0x40, FACILITY_CLASS_PKMN_BREEDER_M},
{0x41, FACILITY_CLASS_POKEMON_BREEDER_F},
{0x42, FACILITY_CLASS_PKMN_RANGER_M},
{0x43, FACILITY_CLASS_PKMN_RANGER_F},
{0x44, FACILITY_CLASS_MAGMA_LEADER_MAXIE},
{0x45, FACILITY_CLASS_MAGMA_GRUNT_M},
{0x46, FACILITY_CLASS_MAGMA_GRUNT_F},
{0x47, FACILITY_CLASS_LASS},
{0x48, FACILITY_CLASS_BUG_CATCHER},
{0x49, FACILITY_CLASS_HIKER},
{0x4a, FACILITY_CLASS_YOUNG_COUPLE},
{0x4b, FACILITY_CLASS_OLD_COUPLE},
{0x4c, FACILITY_CLASS_SIS_AND_BRO},
{RS_FACILITY_CLASS_AQUA_LEADER_ARCHIE, FACILITY_CLASS_AQUA_LEADER_ARCHIE},
{RS_FACILITY_CLASS_AQUA_GRUNT_M, FACILITY_CLASS_AQUA_GRUNT_M},
{RS_FACILITY_CLASS_AQUA_GRUNT_F, FACILITY_CLASS_AQUA_GRUNT_F},
{RS_FACILITY_CLASS_AROMA_LADY, FACILITY_CLASS_AROMA_LADY},
{RS_FACILITY_CLASS_RUIN_MANIAC, FACILITY_CLASS_RUIN_MANIAC},
{RS_FACILITY_CLASS_INTERVIEWER, FACILITY_CLASS_INTERVIEWER},
{RS_FACILITY_CLASS_TUBER_F, FACILITY_CLASS_TUBER_F},
{RS_FACILITY_CLASS_TUBER_M, FACILITY_CLASS_TUBER_M},
{RS_FACILITY_CLASS_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER_M},
{RS_FACILITY_CLASS_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_F},
{RS_FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_HEX_MANIAC},
{RS_FACILITY_CLASS_LADY, FACILITY_CLASS_LADY},
{RS_FACILITY_CLASS_BEAUTY, FACILITY_CLASS_BEAUTY},
{RS_FACILITY_CLASS_RICH_BOY, FACILITY_CLASS_RICH_BOY},
{RS_FACILITY_CLASS_POKEMANIAC, FACILITY_CLASS_POKEMANIAC},
{RS_FACILITY_CLASS_SWIMMER_M, FACILITY_CLASS_SWIMMER_M},
{RS_FACILITY_CLASS_BLACK_BELT, FACILITY_CLASS_BLACK_BELT},
{RS_FACILITY_CLASS_GUITARIST, FACILITY_CLASS_GUITARIST},
{RS_FACILITY_CLASS_KINDLER, FACILITY_CLASS_KINDLER},
{RS_FACILITY_CLASS_CAMPER, FACILITY_CLASS_CAMPER},
{RS_FACILITY_CLASS_BUG_MANIAC, FACILITY_CLASS_BUG_MANIAC},
{RS_FACILITY_CLASS_PSYCHIC_M, FACILITY_CLASS_PSYCHIC_M},
{RS_FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_PSYCHIC_F},
{RS_FACILITY_CLASS_GENTLEMAN, FACILITY_CLASS_GENTLEMAN},
{RS_FACILITY_CLASS_ELITE_FOUR_M, FACILITY_CLASS_ELITE_FOUR_SIDNEY},
{RS_FACILITY_CLASS_ELITE_FOUR_F, FACILITY_CLASS_ELITE_FOUR_PHOEBE},
{RS_FACILITY_CLASS_LEADER_F, FACILITY_CLASS_LEADER_ROXANNE},
{RS_FACILITY_CLASS_LEADER_M, FACILITY_CLASS_LEADER_BRAWLY},
{RS_FACILITY_CLASS_LEADER_MF, FACILITY_CLASS_LEADER_TATE_AND_LIZA},
{RS_FACILITY_CLASS_SCHOOL_KID_M, FACILITY_CLASS_SCHOOL_KID_M},
{RS_FACILITY_CLASS_SCHOOL_KID_F, FACILITY_CLASS_SCHOOL_KID_F},
{RS_FACILITY_CLASS_SR_AND_JR, FACILITY_CLASS_SR_AND_JR},
{RS_FACILITY_CLASS_POKEFAN_M, FACILITY_CLASS_POKEFAN_M},
{RS_FACILITY_CLASS_POKEFAN_F, FACILITY_CLASS_POKEFAN_F},
{RS_FACILITY_CLASS_EXPERT_M, FACILITY_CLASS_EXPERT_M},
{RS_FACILITY_CLASS_EXPERT_F, FACILITY_CLASS_EXPERT_F},
{RS_FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_YOUNGSTER},
{RS_FACILITY_CLASS_CHAMPION, FACILITY_CLASS_CHAMPION_WALLACE},
{RS_FACILITY_CLASS_FISHERMAN, FACILITY_CLASS_FISHERMAN},
{RS_FACILITY_CLASS_CYCLING_TRIATHLETE_M, FACILITY_CLASS_CYCLING_TRIATHLETE_M},
{RS_FACILITY_CLASS_CYCLING_TRIATHLETE_F, FACILITY_CLASS_CYCLING_TRIATHLETE_F},
{RS_FACILITY_CLASS_RUNNING_TRIATHLETE_M, FACILITY_CLASS_RUNNING_TRIATHLETE_M},
{RS_FACILITY_CLASS_RUNNING_TRIATHLETE_F, FACILITY_CLASS_RUNNING_TRIATHLETE_F},
{RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_M, FACILITY_CLASS_SWIMMING_TRIATHLETE_M},
{RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_F, FACILITY_CLASS_SWIMMING_TRIATHLETE_F},
{RS_FACILITY_CLASS_DRAGON_TAMER, FACILITY_CLASS_DRAGON_TAMER},
{RS_FACILITY_CLASS_BIRD_KEEPER, FACILITY_CLASS_BIRD_KEEPER},
{RS_FACILITY_CLASS_NINJA_BOY, FACILITY_CLASS_NINJA_BOY},
{RS_FACILITY_CLASS_BATTLE_GIRL, FACILITY_CLASS_BATTLE_GIRL},
{RS_FACILITY_CLASS_PARASOL_LADY, FACILITY_CLASS_PARASOL_LADY},
{RS_FACILITY_CLASS_SWIMMER_F, FACILITY_CLASS_SWIMMER_F},
{RS_FACILITY_CLASS_PICNICKER, FACILITY_CLASS_PICNICKER},
{RS_FACILITY_CLASS_TWINS, FACILITY_CLASS_TWINS},
{RS_FACILITY_CLASS_SAILOR, FACILITY_CLASS_SAILOR},
{RS_FACILITY_CLASS_COLLECTOR, FACILITY_CLASS_COLLECTOR},
{RS_FACILITY_CLASS_WALLY, FACILITY_CLASS_WALLY},
{RS_FACILITY_CLASS_BRENDAN_1, FACILITY_CLASS_BRENDAN},
{RS_FACILITY_CLASS_BRENDAN_2, FACILITY_CLASS_BRENDAN_2},
{RS_FACILITY_CLASS_BRENDAN_3, FACILITY_CLASS_BRENDAN_3},
{RS_FACILITY_CLASS_MAY_1, FACILITY_CLASS_MAY},
{RS_FACILITY_CLASS_MAY_2, FACILITY_CLASS_MAY_2},
{RS_FACILITY_CLASS_MAY_3, FACILITY_CLASS_MAY_3},
{RS_FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_PKMN_BREEDER_M},
{RS_FACILITY_CLASS_PKMN_BREEDER_F, FACILITY_CLASS_PKMN_BREEDER_F},
{RS_FACILITY_CLASS_PKMN_RANGER_M, FACILITY_CLASS_PKMN_RANGER_M},
{RS_FACILITY_CLASS_PKMN_RANGER_F, FACILITY_CLASS_PKMN_RANGER_F},
{RS_FACILITY_CLASS_MAGMA_LEADER, FACILITY_CLASS_MAGMA_LEADER_MAXIE},
{RS_FACILITY_CLASS_MAGMA_GRUNT_M, FACILITY_CLASS_MAGMA_GRUNT_M},
{RS_FACILITY_CLASS_MAGMA_GRUNT_F, FACILITY_CLASS_MAGMA_GRUNT_F},
{RS_FACILITY_CLASS_LASS, FACILITY_CLASS_LASS},
{RS_FACILITY_CLASS_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER},
{RS_FACILITY_CLASS_HIKER, FACILITY_CLASS_HIKER},
{RS_FACILITY_CLASS_YOUNG_COUPLE, FACILITY_CLASS_YOUNG_COUPLE},
{RS_FACILITY_CLASS_OLD_COUPLE, FACILITY_CLASS_OLD_COUPLE},
{RS_FACILITY_CLASS_SIS_AND_BRO, FACILITY_CLASS_SIS_AND_BRO},
};
static const u8 *const gUnknown_085DCFD8[] =
@@ -986,7 +988,7 @@ struct
{FACILITY_CLASS_PSYCHIC_M, gUnknown_085DD44C},
{FACILITY_CLASS_PSYCHIC_F, gUnknown_085DD460},
{FACILITY_CLASS_SCHOOL_KID_F, gUnknown_085DD474},
{FACILITY_CLASS_POKEMON_BREEDER_F, gUnknown_085DD488},
{FACILITY_CLASS_PKMN_BREEDER_F, gUnknown_085DD488},
{FACILITY_CLASS_POKEFAN_F, gUnknown_085DD49C},
{FACILITY_CLASS_SWIMMER_F, gUnknown_085DD4B0},
{FACILITY_CLASS_SWIMMING_TRIATHLETE_M, gUnknown_085DD4C4},
@@ -1072,20 +1074,20 @@ static void (* const sBattleTowerFuncs[])(void) =
[BATTLE_TOWER_FUNC_15] = sub_8164E04,
};
static const u32 gUnknown_085DF9AC[][2] =
static const u32 sWinStreakFlags[][2] =
{
{0x00000001, 0x00000002},
{0x00004000, 0x00008000},
{0x00010000, 0x00020000},
{0x00040000, 0x00080000},
{STREAK_TOWER_SINGLES_50, STREAK_TOWER_SINGLES_OPEN},
{STREAK_TOWER_DOUBLES_50, STREAK_TOWER_DOUBLES_OPEN},
{STREAK_TOWER_MULTIS_50, STREAK_TOWER_MULTIS_OPEN},
{STREAK_TOWER_LINK_MULTIS_50, STREAK_TOWER_LINK_MULTIS_OPEN},
};
static const u32 gUnknown_085DF9CC[][2] =
static const u32 sWinStreakMasks[][2] =
{
{0xfffffffe, 0xfffffffd},
{0xffffbfff, 0xffff7fff},
{0xfffeffff, 0xfffdffff},
{0xfffbffff, 0xfff7ffff},
{~(STREAK_TOWER_SINGLES_50), ~(STREAK_TOWER_SINGLES_OPEN)},
{~(STREAK_TOWER_DOUBLES_50), ~(STREAK_TOWER_DOUBLES_OPEN)},
{~(STREAK_TOWER_MULTIS_50), ~(STREAK_TOWER_MULTIS_OPEN)},
{~(STREAK_TOWER_LINK_MULTIS_50), ~(STREAK_TOWER_LINK_MULTIS_OPEN)},
};
static const u8 gUnknown_085DF9EC[] =
@@ -1093,12 +1095,13 @@ static const u8 gUnknown_085DF9EC[] =
0x01, 0x02, 0x03, 0x04, 0x05, 0x08, 0x09, 0x0a, 0x0b, 0x0c
};
static const u8 gUnknown_085DF9F6[] =
// Unclear why this was duplicated
static const u8 sBattleTowerPartySizes2[] =
{
[FRONTIER_MODE_SINGLES] = 3,
[FRONTIER_MODE_DOUBLES] = 4,
[FRONTIER_MODE_MULTIS] = 2,
[FRONTIER_MODE_LINK_MULTIS] = 2,
[FRONTIER_MODE_SINGLES] = FRONTIER_PARTY_SIZE,
[FRONTIER_MODE_DOUBLES] = FRONTIER_DOUBLES_PARTY_SIZE,
[FRONTIER_MODE_MULTIS] = FRONTIER_MULTI_PARTY_SIZE,
[FRONTIER_MODE_LINK_MULTIS] = FRONTIER_MULTI_PARTY_SIZE,
};
static const u16 gUnknown_085DF9FA[][2] =
@@ -1127,22 +1130,22 @@ static const u16 gUnknown_085DFA1A[][2] =
{0x00c8, 0x00b7},
};
static const u8 gUnknown_085DFA42[4] =
static const u8 sBattleTowerPartySizes[FRONTIER_MODE_COUNT] =
{
[FRONTIER_MODE_SINGLES] = 3,
[FRONTIER_MODE_DOUBLES] = 4,
[FRONTIER_MODE_MULTIS] = 2,
[FRONTIER_MODE_LINK_MULTIS] = 2,
[FRONTIER_MODE_SINGLES] = FRONTIER_PARTY_SIZE,
[FRONTIER_MODE_DOUBLES] = FRONTIER_DOUBLES_PARTY_SIZE,
[FRONTIER_MODE_MULTIS] = FRONTIER_MULTI_PARTY_SIZE,
[FRONTIER_MODE_LINK_MULTIS] = FRONTIER_MULTI_PARTY_SIZE,
};
static const u16 gUnknown_085DFA46[] =
static const u16 sRecordTrainerSpeechWon[] =
{
0x0c3a, 0x0c3a, 0x0c01, 0x0a2a, 0x0607, 0x0c01
EC_WORD_YAY, EC_WORD_YAY, EC_WORD_EXCL_EXCL, EC_WORD_I_VE, EC_WORD_WON, EC_WORD_EXCL_EXCL
};
static const u16 gUnknown_085DFA52[] =
static const u16 sRecordTrainerSpeechLost[] =
{
0x1039, 0x122e, 0x0c04, 0x0a3d, 0x0630, 0x0c04
EC_WORD_TOO, EC_WORD_BAD, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_LOST, EC_WORD_ELLIPSIS
};
// code
@@ -1156,12 +1159,12 @@ static void sub_8161F94(void)
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
gSaveBlock2Ptr->frontier.challengeOutcome = 1;
gSaveBlock2Ptr->frontier.challengeStatus = CHALLENGE_STATUS_SAVING;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
sub_81A3ACC();
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_085DF9AC[battleMode][lvlMode]))
ResetFrontierTrainerIds();
if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]))
gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = 0;
ValidateBattleTowerRecordChecksums();
@@ -1182,10 +1185,10 @@ static void sub_8162054(void)
gSpecialVar_Result = GetCurrentBattleTowerWinStreak(lvlMode, battleMode);
break;
case 2:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_085DF9AC[battleMode][lvlMode]) != 0);
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
case 3:
gSaveBlock2Ptr->frontier.field_D07 = gSaveBlock2Ptr->frontier.lvlMode;
gSaveBlock2Ptr->frontier.towerLvlMode = gSaveBlock2Ptr->frontier.lvlMode;
break;
}
}
@@ -1204,12 +1207,12 @@ static void sub_81620F4(void)
break;
case 2:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_085DF9AC[battleMode][lvlMode];
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_085DF9CC[battleMode][lvlMode];
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode];
break;
case 3:
gSaveBlock2Ptr->frontier.field_D07 = gSaveBlock2Ptr->frontier.lvlMode;
gSaveBlock2Ptr->frontier.towerLvlMode = gSaveBlock2Ptr->frontier.lvlMode;
break;
}
}
@@ -1219,8 +1222,9 @@ static void sub_81621C0(void)
if (gTrainerBattleOpponent_A == TRAINER_EREADER)
ClearEReaderTrainer(&gSaveBlock2Ptr->frontier.ereaderTrainer);
if (gSaveBlock2Ptr->frontier.field_D04 < 9999)
gSaveBlock2Ptr->frontier.field_D04++;
// below field is never read outside this conditional
if (gSaveBlock2Ptr->frontier.towerNumWins < MAX_STREAK)
gSaveBlock2Ptr->frontier.towerNumWins++;
gSaveBlock2Ptr->frontier.curChallengeBattleNum++;
SaveCurrentWinStreak();
@@ -1258,7 +1262,7 @@ static bool8 ChooseSpecialBattleTowerTrainer(void)
validMons++;
}
if (validMons >= gUnknown_085DF9F6[battleMode]
if (validMons >= sBattleTowerPartySizes2[battleMode]
&& gSaveBlock2Ptr->frontier.towerRecords[i].winStreak == winStreak
&& gSaveBlock2Ptr->frontier.towerRecords[i].lvlMode == lvlMode
&& recordHasData
@@ -2244,21 +2248,21 @@ void DoSpecialTrainerBattle(void)
switch (VarGet(VAR_FRONTIER_BATTLE_MODE))
{
case FRONTIER_MODE_SINGLES:
FillFrontierTrainerParty(3);
FillFrontierTrainerParty(FRONTIER_PARTY_SIZE);
break;
case FRONTIER_MODE_DOUBLES:
FillFrontierTrainerParty(4);
FillFrontierTrainerParty(FRONTIER_DOUBLES_PARTY_SIZE);
gBattleTypeFlags |= BATTLE_TYPE_DOUBLE;
break;
case FRONTIER_MODE_MULTIS:
FillFrontierTrainersParties(2);
FillFrontierTrainersParties(FRONTIER_MULTI_PARTY_SIZE);
gPartnerTrainerId = gSaveBlock2Ptr->frontier.trainerIds[17];
FillPartnerParty(gPartnerTrainerId);
gBattleTypeFlags |= BATTLE_TYPE_DOUBLE | BATTLE_TYPE_INGAME_PARTNER | BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS;
break;
case FRONTIER_MODE_LINK_MULTIS:
gBattleTypeFlags |= BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_MULTI | BATTLE_TYPE_x800000;
FillFrontierTrainersParties(2);
FillFrontierTrainersParties(FRONTIER_MULTI_PARTY_SIZE);
break;
}
CreateTask(Task_StartBattleAfterTransition, 1);
@@ -2300,9 +2304,9 @@ void DoSpecialTrainerBattle(void)
if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
gBattleTypeFlags |= BATTLE_TYPE_DOUBLE;
if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT)
FillFrontierTrainerParty(3);
FillFrontierTrainerParty(FRONTIER_PARTY_SIZE);
else
FillTentTrainerParty(3);
FillTentTrainerParty(FRONTIER_PARTY_SIZE);
CreateTask(Task_StartBattleAfterTransition, 1);
PlayMapChosenOrBattleBGM(0);
BattleTransition_StartOnField(sub_80B100C(4));
@@ -2310,9 +2314,9 @@ void DoSpecialTrainerBattle(void)
case SPECIAL_BATTLE_ARENA:
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_ARENA;
if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT)
FillFrontierTrainerParty(3);
FillFrontierTrainerParty(FRONTIER_PARTY_SIZE);
else
FillTentTrainerParty(3);
FillTentTrainerParty(FRONTIER_PARTY_SIZE);
CreateTask(Task_StartBattleAfterTransition, 1);
PlayMapChosenOrBattleBGM(0);
BattleTransition_StartOnField(sub_80B100C(5));
@@ -2328,14 +2332,14 @@ void DoSpecialTrainerBattle(void)
break;
case SPECIAL_BATTLE_PIKE_SINGLE:
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_BATTLE_TOWER;
FillFrontierTrainerParty(3);
FillFrontierTrainerParty(FRONTIER_PARTY_SIZE);
CreateTask(Task_StartBattleAfterTransition, 1);
PlayMapChosenOrBattleBGM(0);
BattleTransition_StartOnField(sub_80B100C(7));
break;
case SPECIAL_BATTLE_PYRAMID:
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_PYRAMID;
FillFrontierTrainerParty(3);
FillFrontierTrainerParty(FRONTIER_PARTY_SIZE);
CreateTask(Task_StartBattleAfterTransition, 1);
PlayMapChosenOrBattleBGM(0);
BattleTransition_StartOnField(sub_80B100C(10));
@@ -2408,7 +2412,7 @@ static void sub_8163EE4(void)
playerRecord->speechLost[i] = gSaveBlock1Ptr->easyChatBattleLost[i];
}
for (i = 0; i < 4; i++)
for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
{
if (gSaveBlock2Ptr->frontier.selectedPartyMons[i] != 0)
sub_80686FC(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], &playerRecord->party[i]);
@@ -2428,10 +2432,10 @@ static void SaveBattleTowerProgress(void)
if (gSpecialVar_0x8005 == 0 && (challengeNum > 1 || gSaveBlock2Ptr->frontier.curChallengeBattleNum != 0))
sub_8163EE4();
gSaveBlock2Ptr->frontier.challengeOutcome =gSpecialVar_0x8005;
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = 1;
sub_81A4C30();
gSaveBlock2Ptr->frontier.challengePaused = TRUE;
SaveGameFrontier();
}
static void nullsub_61(void)
@@ -2895,13 +2899,13 @@ static void sub_8164E04(void)
GetFrontierTrainerName(text, gTrainerBattleOpponent_A);
StripExtCtrlCodes(text);
StringCopy(gSaveBlock2Ptr->frontier.field_BD8, text);
GetBattleTowerTrainerLanguage(&gSaveBlock2Ptr->frontier.field_BEB, gTrainerBattleOpponent_A);
gSaveBlock2Ptr->frontier.field_BD6 = GetMonData(&gEnemyParty[gBattlerPartyIndexes[1]], MON_DATA_SPECIES, NULL);
gSaveBlock2Ptr->frontier.field_BD4 = GetMonData(&gPlayerParty[gBattlerPartyIndexes[0]], MON_DATA_SPECIES, NULL);
StringCopy(gSaveBlock2Ptr->frontier.towerInterview.opponentName, text);
GetBattleTowerTrainerLanguage(&gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage, gTrainerBattleOpponent_A);
gSaveBlock2Ptr->frontier.towerInterview.opponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[1]], MON_DATA_SPECIES, NULL);
gSaveBlock2Ptr->frontier.towerInterview.playerSpecies = GetMonData(&gPlayerParty[gBattlerPartyIndexes[0]], MON_DATA_SPECIES, NULL);
for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++)
gSaveBlock2Ptr->frontier.field_BE0[i] = gBattleMons[0].nickname[i];
gSaveBlock2Ptr->frontier.field_D06 = gBattleOutcome;
gSaveBlock2Ptr->frontier.towerInterview.opponentMonNickname[i] = gBattleMons[0].nickname[i];
gSaveBlock2Ptr->frontier.towerBattleOutcome = gBattleOutcome;
}
static void ValidateBattleTowerRecordChecksums(void)
@@ -2968,13 +2972,13 @@ u16 GetCurrentBattleTowerWinStreak(u8 lvlMode, u8 battleMode)
static u8 GetMonCountForBattleMode(u8 battleMode)
{
u8 sp[ARRAY_COUNT(gUnknown_085DFA42)];
memcpy(sp, gUnknown_085DFA42, sizeof(gUnknown_085DFA42));
u8 partySizes[ARRAY_COUNT(sBattleTowerPartySizes)];
memcpy(partySizes, sBattleTowerPartySizes, sizeof(sBattleTowerPartySizes));
if (battleMode < ARRAY_COUNT(gUnknown_085DFA42))
return sp[battleMode];
if (battleMode < ARRAY_COUNT(sBattleTowerPartySizes))
return partySizes[battleMode];
else
return 3;
return FRONTIER_PARTY_SIZE;
}
struct RibbonCounter
@@ -3158,7 +3162,7 @@ static void CopyEReaderTrainerFarewellMessage(void)
void sub_81653CC(void)
{
if (gSaveBlock2Ptr->frontier.challengeOutcome == 1)
if (gSaveBlock2Ptr->frontier.challengeStatus == CHALLENGE_STATUS_SAVING)
sub_80F01B8();
if (FlagGet(FLAG_CANCEL_BATTLE_ROOM_CHALLENGE) == TRUE)
{
@@ -3282,13 +3286,13 @@ bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct Em
{
s32 i, validMons = 0;
for (i = 0; i < 3; i++)
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
if (src->party[i].species)
validMons++;
}
if (validMons != 3)
if (validMons != FRONTIER_PARTY_SIZE)
{
memset(dst, 0, sizeof(*dst));
return FALSE;
@@ -3298,6 +3302,7 @@ bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct Em
dst->lvlMode = src->lvlMode;
dst->winStreak = src->winStreak;
// BUG: Reading outside the array. sRubyFacilityClassToEmerald has less than FACILITY_CLASSES_COUNT entries.
// Fix by using ARRAY_COUNT(sRubyFacilityClassToEmerald)
for (i = 0; i < FACILITY_CLASSES_COUNT; i++)
{
if (sRubyFacilityClassToEmerald[i][0] == src->facilityClass)
@@ -3312,16 +3317,16 @@ bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct Em
dst->name[i] = src->name[i];
for (i = 0; i < TRAINER_ID_LENGTH; i++)
dst->trainerId[i] = src->trainerId[i];
for (i = 0; i < 6; i++)
for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
dst->greeting[i] = src->greeting[i];
for (i = 0; i < 6; i++)
dst->speechWon[i] = gUnknown_085DFA46[i];
for (i = 0; i < 6; i++)
dst->speechLost[i] = gUnknown_085DFA52[i];
for (i = 0; i < 3; i++)
for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
dst->speechWon[i] = sRecordTrainerSpeechWon[i];
for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
dst->speechLost[i] = sRecordTrainerSpeechLost[i];
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
dst->party[i] = src->party[i];
CpuFill32(0, &dst->party[3], sizeof(dst->party[3]));
CpuFill32(0, &dst->party[FRONTIER_PARTY_SIZE], sizeof(dst->party[FRONTIER_PARTY_SIZE]));
CalcEmeraldBattleTowerChecksum(dst);
return TRUE;
}
@@ -3331,13 +3336,13 @@ bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, stru
{
s32 i, validMons = 0;
for (i = 0; i < 3; i++)
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
if (src->party[i].species)
validMons++;
}
if (validMons != 3)
if (validMons != FRONTIER_PARTY_SIZE)
{
memset(dst, 0, sizeof(*dst));
return FALSE;
@@ -3347,6 +3352,7 @@ bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, stru
dst->lvlMode = src->lvlMode;
dst->winStreak = src->winStreak;
// BUG: Reading outside the array. sRubyFacilityClassToEmerald has less than FACILITY_CLASSES_COUNT entries.
// Fix by using ARRAY_COUNT(sRubyFacilityClassToEmerald) instead
for (i = 0; i < FACILITY_CLASSES_COUNT; i++)
{
if (sRubyFacilityClassToEmerald[i][1] == src->facilityClass)
@@ -3355,15 +3361,15 @@ bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, stru
if (i != FACILITY_CLASSES_COUNT)
dst->facilityClass = sRubyFacilityClassToEmerald[i][0];
else
dst->facilityClass = 0x24; // FACILITY_CLASS_YOUNGSTER in Ruby/Sapphire.
dst->facilityClass = RS_FACILITY_CLASS_YOUNGSTER;
for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
dst->name[i] = src->name[i];
for (i = 0; i < TRAINER_ID_LENGTH; i++)
dst->trainerId[i] = src->trainerId[i];
for (i = 0; i < 6; i++)
for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
dst->greeting[i] = src->greeting[i];
for (i = 0; i < 3; i++)
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
dst->party[i] = src->party[i];
CalcRubyBattleTowerChecksum(dst);
@@ -361,7 +361,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[] =
.monSets = gBattleFrontierTrainerMons_Payton
},
[45] = {
.facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.trainerName = _("PAMELA"),
.speechBefore = {EC_WORD_ALL, EC_WORD_POKEMON, EC_WORD_ADORE, EC_WORD_A, EC_WORD_KIND, EC_WORD_TRAINER},
.speechWin = {EC_WORD_IT_S, EC_WORD_TOO, EC_WORD_BAD, EC_WORD_YOU, EC_WORD_LOST, 0xFFFF},
@@ -369,7 +369,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[] =
.monSets = gBattleFrontierTrainerMons_Pamela
},
[46] = {
.facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.trainerName = _("ELIZA"),
.speechBefore = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_POKEMON, EC_WORD_LIKE, EC_WORD_MY, EC_WORD_CHILDREN},
.speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_MY, EC_WORD_POKEMON},
@@ -377,7 +377,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[] =
.monSets = gBattleFrontierTrainerMons_Eliza
},
[47] = {
.facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.trainerName = _("MARISA"),
.speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_WORD_BATTLE, EC_WORD_SERIOUSLY, 0xFFFF},
.speechWin = {EC_WORD_PROMISE, EC_WORD_ME, EC_WORD_YOU, EC_WORD_WILL, EC_WORD_DO, EC_WORD_BETTER},
@@ -1273,7 +1273,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[] =
.monSets = gBattleFrontierTrainerMons_Cordell
},
[159] = {
.facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.trainerName = _("JAZLYN"),
.speechBefore = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_POKEDEX, EC_WORD_REALLY, EC_WORD_AWESOME, EC_WORD_QUES},
.speechWin = {EC_WORD_OH_YEAH, EC_WORD_WOW, EC_WORD_YOUR, EC_WORD_POKEDEX, EC_WORD_IS, EC_WORD_SUPER},
@@ -1745,7 +1745,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[] =
.monSets = gBattleFrontierTrainerMons_Wilson
},
[218] = {
.facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.trainerName = _("CLARE"),
.speechBefore = {EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_A, EC_WORD_TOUGH, EC_WORD_TRAINER, EC_WORD_EXCL},
.speechWin = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_A, EC_WORD_WIMPY, EC_WORD_TRAINER, EC_WORD_EXCL},
@@ -1753,7 +1753,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[] =
.monSets = gBattleFrontierTrainerMons_Clare
},
[219] = {
.facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.trainerName = _("TESS"),
.speechBefore = {EC_WORD_WANT, EC_WORD_SOME, EC_POKEMON(GULPIN), EC_WORD_DESIGN, EC_WORD_SWEETS, EC_WORD_QUES},
.speechWin = {EC_WORD_THEY_RE, EC_WORD_A, EC_WORD_SECRET, EC_WORD_POKEMON, EC_WORD_GOURMET, EC_WORD_ITEM},
+2 -2
View File
@@ -847,7 +847,7 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
[1] =
{
.name = _("JAYDEN"),
.facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.unused = 0,
.speechBefore = {EC_WORD_SOME, EC_WORD_THINGS, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_DO, EC_WORD_ALONE},
.speechWin = {EC_WORD_YOU, EC_WORD_WIN, EC_WORD_AS, EC_WORD_A, EC_WORD_GROUP, 0xFFFF},
@@ -1152,7 +1152,7 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
[1] =
{
.name = _("VERONICA"),
.facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.unused = 0,
.speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_STRONG, EC_WORD_BEAUTY, EC_WORD_AROUND, EC_WORD_HERE},
.speechWin = {EC_WORD_I_AM, EC_WORD_STRONG, EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_EXCL, 0xFFFF},
+2 -2
View File
@@ -2,7 +2,7 @@ const u8 gFacilityClassToPicIndex[] =
{
[FACILITY_CLASS_HIKER] = TRAINER_PIC_HIKER,
[FACILITY_CLASS_AQUA_GRUNT_M] = TRAINER_PIC_AQUA_GRUNT_M,
[FACILITY_CLASS_POKEMON_BREEDER_F] = TRAINER_PIC_POKEMON_BREEDER_F,
[FACILITY_CLASS_PKMN_BREEDER_F] = TRAINER_PIC_POKEMON_BREEDER_F,
[FACILITY_CLASS_COOLTRAINER_M] = TRAINER_PIC_COOLTRAINER_M,
[FACILITY_CLASS_BIRD_KEEPER] = TRAINER_PIC_BIRD_KEEPER,
[FACILITY_CLASS_COLLECTOR] = TRAINER_PIC_COLLECTOR,
@@ -88,7 +88,7 @@ const u8 gFacilityClassToTrainerClass[] =
{
[FACILITY_CLASS_HIKER] = TRAINER_CLASS_HIKER,
[FACILITY_CLASS_AQUA_GRUNT_M] = TRAINER_CLASS_TEAM_AQUA,
[FACILITY_CLASS_POKEMON_BREEDER_F] = TRAINER_CLASS_PKMN_BREEDER,
[FACILITY_CLASS_PKMN_BREEDER_F] = TRAINER_CLASS_PKMN_BREEDER,
[FACILITY_CLASS_COOLTRAINER_M] = TRAINER_CLASS_COOLTRAINER,
[FACILITY_CLASS_BIRD_KEEPER] = TRAINER_CLASS_BIRD_KEEPER,
[FACILITY_CLASS_COLLECTOR] = TRAINER_CLASS_COLLECTOR,
+198 -190
View File
@@ -45,30 +45,30 @@ struct FrontierBrainMon
u8 fixedIV;
u8 nature;
u8 evs[NUM_STATS];
u16 moves[4];
u16 moves[MAX_MON_MOVES];
};
// This file's functions.
static void GetChallengeStatus(void);
static void GetFrontierData(void);
static void SetFrontierData(void);
static void LoadSelectedParty(void);
static void SetSelectedPartyOrder(void);
static void DoSoftReset_(void);
static void SetFrontierTrainers(void);
static void sub_81A1B38(void);
static void SaveSelectedParty(void);
static void ShowFacilityResultsWindow(void);
static void sub_81A31FC(void);
static void CheckPutFrontierTVShowOnAir(void);
static void Script_GetFrontierBrainStatus(void);
static void IsTrainerFrontierBrain(void);
static void sub_81A3B64(void);
static void GiveBattlePoints(void);
static void GetFacilitySymbolCount(void);
static void GiveFacilitySymbol(void);
static void CheckBattleTypeFlag(void);
static void sub_81A3FD4(void);
static void CheckPartyIneligibility(void);
static void ValidateVisitingTrainer(void);
static void sub_81A4230(void);
static void sub_81A43A8(void);
static void sub_81A4410(void);
static void IncrementWinStreak(void);
static void RestoreHeldItems(void);
static void SaveRecordBattle(void);
static void BufferFrontierTrainerName(void);
static void ResetSketchedMoves(void);
static void SetFacilityBrainEventObject(void);
@@ -591,7 +591,9 @@ static const u8 sBattlePointAwards[][NUM_FRONTIER_FACILITIES][FRONTIER_MODE_COUN
},
};
static const u16 sFacilitySymbolBitFlags[NUM_FRONTIER_FACILITIES][2] =
// Flags to change the conversation when the Frontier Brain is encountered for a battle
// First bit is has battled them before and not won yet, second bit is has battled them and won (obtained a Symbol)
static const u16 sBattledBrainBitFlags[NUM_FRONTIER_FACILITIES][2] =
{
[FRONTIER_FACILITY_TOWER] = {0x0001, 0x0002},
[FRONTIER_FACILITY_DOME] = {0x0004, 0x0008},
@@ -607,29 +609,29 @@ static void (* const sFrontierUtilFuncs[])(void) =
[FRONTIER_UTIL_FUNC_GET_STATUS] = GetChallengeStatus,
[FRONTIER_UTIL_FUNC_GET_DATA] = GetFrontierData,
[FRONTIER_UTIL_FUNC_SET_DATA] = SetFrontierData,
[FRONTIER_UTIL_FUNC_LOAD_SELECTED_PARTY] = LoadSelectedParty,
[FRONTIER_UTIL_FUNC_SET_PARTY_ORDER] = SetSelectedPartyOrder,
[FRONTIER_UTIL_FUNC_SOFT_RESET] = DoSoftReset_,
[FRONTIER_UTIL_FUNC_SET_FRONTIER_TRAINERS] = SetFrontierTrainers,
[FRONTIER_UTIL_FUNC_6] = sub_81A1B38,
[FRONTIER_UTIL_FUNC_SET_TRAINERS] = SetFrontierTrainers,
[FRONTIER_UTIL_FUNC_SAVE_PARTY] = SaveSelectedParty,
[FRONTIER_UTIL_FUNC_RESULTS_WINDOW] = ShowFacilityResultsWindow,
[FRONTIER_UTIL_FUNC_8] = sub_81A31FC,
[FRONTIER_UTIL_FUNC_CHECK_AIR_TV_SHOW] = CheckPutFrontierTVShowOnAir,
[FRONTIER_UTIL_FUNC_GET_BRAIN_STATUS] = Script_GetFrontierBrainStatus,
[FRONTIER_UTIL_FUNC_IS_FRONTIER_BRAIN] = IsTrainerFrontierBrain,
[FRONTIER_UTIL_FUNC_11] = sub_81A3B64,
[FRONTIER_UTIL_FUNC_IS_BRAIN] = IsTrainerFrontierBrain,
[FRONTIER_UTIL_FUNC_GIVE_BATTLE_POINTS] = GiveBattlePoints,
[FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS] = GetFacilitySymbolCount,
[FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL] = GiveFacilitySymbol,
[FRONTIER_UTIL_FUNC_CHECK_BATTLE_TYPE] = CheckBattleTypeFlag,
[FRONTIER_UTIL_FUNC_15] = sub_81A3FD4,
[FRONTIER_UTIL_FUNC_CHECK_INELIGIBLE] = CheckPartyIneligibility,
[FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER] = ValidateVisitingTrainer,
[FRONTIER_UTIL_FUNC_17] = sub_81A4230,
[FRONTIER_UTIL_FUNC_18] = sub_81A43A8,
[FRONTIER_UTIL_FUNC_19] = sub_81A4410,
[FRONTIER_UTIL_FUNC_INCREMENT_STREAK] = IncrementWinStreak,
[FRONTIER_UTIL_FUNC_RESTORE_HELD_ITEMS] = RestoreHeldItems,
[FRONTIER_UTIL_FUNC_SAVE_BATTLE] = SaveRecordBattle,
[FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME] = BufferFrontierTrainerName,
[FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES] = ResetSketchedMoves,
[FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT] = SetFacilityBrainEventObject,
};
static const struct WindowTemplate gUnknown_08611C74 =
static const struct WindowTemplate sFrontierResultsWindowTemplate =
{
.bg = 0,
.tilemapLeft = 1,
@@ -640,7 +642,7 @@ static const struct WindowTemplate gUnknown_08611C74 =
.baseBlock = 1
};
static const struct WindowTemplate gUnknown_08611C7C =
static const struct WindowTemplate sLinkContestResultsWindowTemplate =
{
.bg = 0,
.tilemapLeft = 2,
@@ -651,7 +653,7 @@ static const struct WindowTemplate gUnknown_08611C7C =
.baseBlock = 1
};
static const struct WindowTemplate gUnknown_08611C84 =
static const struct WindowTemplate sRankingHallRecordsWindowTemplate =
{
.bg = 0,
.tilemapLeft = 2,
@@ -787,29 +789,28 @@ void CallFrontierUtilFunc(void)
sFrontierUtilFuncs[gSpecialVar_0x8004]();
}
// Buffers into VAR_TEMP_0 specifically because this is used to react to the outcome in OnFrame map scripts
// TODO: use constants, fix name, rename field, compare to get/set data 0
// Buffers into VAR_TEMP_0 specifically because this is used to react to the status in OnFrame map scripts
static void GetChallengeStatus(void)
{
VarSet(VAR_TEMP_0, 0xFF);
switch (gSaveBlock2Ptr->frontier.challengeOutcome)
switch (gSaveBlock2Ptr->frontier.challengeStatus)
{
case 0:
break;
case 1:
case CHALLENGE_STATUS_SAVING:
FrontierGamblerSetWonOrLost(FALSE);
VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeOutcome);
VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus);
break;
case 4:
case CHALLENGE_STATUS_LOST:
FrontierGamblerSetWonOrLost(FALSE);
VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeOutcome);
VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus);
break;
case 3:
case CHALLENGE_STATUS_WON:
FrontierGamblerSetWonOrLost(TRUE);
VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeOutcome);
VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus);
break;
case 2:
VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeOutcome);
case CHALLENGE_STATUS_PAUSED:
VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus);
break;
}
}
@@ -823,27 +824,27 @@ static void GetFrontierData(void)
switch (gSpecialVar_0x8005)
{
case 0:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.challengeOutcome;
case FRONTIER_DATA_CHALLENGE_STATUS:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.challengeStatus;
break;
case 1:
case FRONTIER_DATA_LVL_MODE:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.lvlMode;
break;
case 2:
case FRONTIER_DATA_BATTLE_NUM:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
break;
case 3:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CA9_a;
case FRONTIER_DATA_PAUSED:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.challengePaused;
break;
case 5:
case FRONTIER_DATA_BATTLE_OUTCOME:
gSpecialVar_Result = gBattleOutcome;
gBattleOutcome = 0;
break;
case 6:
case FRONTIER_DATA_6:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CA9_b;
break;
case 7:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.symbolFlags & sFacilitySymbolBitFlags[facility][hasSymbol];
case FRONTIER_DATA_HEARD_BRAIN_SPEECH:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.battledBrainFlags & sBattledBrainBitFlags[facility][hasSymbol];
break;
}
}
@@ -858,32 +859,32 @@ static void SetFrontierData(void)
switch (gSpecialVar_0x8005)
{
case 0:
gSaveBlock2Ptr->frontier.challengeOutcome = gSpecialVar_0x8006;
case FRONTIER_DATA_CHALLENGE_STATUS:
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8006;
break;
case 1:
case FRONTIER_DATA_LVL_MODE:
gSaveBlock2Ptr->frontier.lvlMode = gSpecialVar_0x8006;
break;
case 2:
case FRONTIER_DATA_BATTLE_NUM:
gSaveBlock2Ptr->frontier.curChallengeBattleNum = gSpecialVar_0x8006;
break;
case 3:
gSaveBlock2Ptr->frontier.field_CA9_a = gSpecialVar_0x8006;
case FRONTIER_DATA_PAUSED:
gSaveBlock2Ptr->frontier.challengePaused = gSpecialVar_0x8006;
break;
case 4:
for (i = 0; i < 4; i++)
case FRONTIER_DATA_SELECTED_MON_ORDER:
for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
gSaveBlock2Ptr->frontier.selectedPartyMons[i] = gSelectedOrderFromParty[i];
break;
case 6:
case FRONTIER_DATA_6:
gSaveBlock2Ptr->frontier.field_CA9_b = gSpecialVar_0x8006;
break;
case 7:
gSaveBlock2Ptr->frontier.symbolFlags |= sFacilitySymbolBitFlags[facility][hasSymbol];
case FRONTIER_DATA_HEARD_BRAIN_SPEECH:
gSaveBlock2Ptr->frontier.battledBrainFlags |= sBattledBrainBitFlags[facility][hasSymbol];
break;
}
}
static void LoadSelectedParty(void)
static void SetSelectedPartyOrder(void)
{
s32 i;
@@ -903,11 +904,11 @@ static void SetFrontierTrainers(void)
gFacilityTrainers = gBattleFrontierTrainers;
}
static void sub_81A1B38(void)
static void SaveSelectedParty(void)
{
u8 i;
for (i = 0; i < 4; i++)
for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
{
u16 monId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
if (monId < PARTY_SIZE)
@@ -948,9 +949,9 @@ static void ShowFacilityResultsWindow(void)
}
}
static bool8 sub_81A1C24(u32 flags)
static bool8 IsWinStreakActive(u32 challenge)
{
if (gSaveBlock2Ptr->frontier.field_CDC & flags)
if (gSaveBlock2Ptr->frontier.winStreakActiveFlags & challenge)
return TRUE;
else
return FALSE;
@@ -980,8 +981,8 @@ static void PrintHyphens(s32 y)
static void TowerPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
{
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
if (num > 9999)
num = 9999;
if (num > MAX_STREAK)
num = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gText_WinStreak);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
@@ -996,8 +997,8 @@ static void TowerPrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y
static u16 TowerGetWinStreak(u8 battleMode, u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode];
if (winStreak > 9999)
return 9999;
if (winStreak > MAX_STREAK)
return MAX_STREAK;
else
return winStreak;
}
@@ -1011,27 +1012,27 @@ static void TowerPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x
default:
case FRONTIER_MODE_SINGLES:
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(2);
isCurrent = IsWinStreakActive(STREAK_TOWER_SINGLES_OPEN);
else
isCurrent = sub_81A1C24(1);
isCurrent = IsWinStreakActive(STREAK_TOWER_SINGLES_50);
break;
case FRONTIER_MODE_DOUBLES:
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(0x8000);
isCurrent = IsWinStreakActive(STREAK_TOWER_DOUBLES_OPEN);
else
isCurrent = sub_81A1C24(0x4000);
isCurrent = IsWinStreakActive(STREAK_TOWER_DOUBLES_50);
break;
case FRONTIER_MODE_MULTIS:
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(0x20000);
isCurrent = IsWinStreakActive(STREAK_TOWER_MULTIS_OPEN);
else
isCurrent = sub_81A1C24(0x10000);
isCurrent = IsWinStreakActive(STREAK_TOWER_MULTIS_50);
break;
case FRONTIER_MODE_LINK_MULTIS:
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(0x80000);
isCurrent = IsWinStreakActive(STREAK_TOWER_LINK_MULTIS_OPEN);
else
isCurrent = sub_81A1C24(0x40000);
isCurrent = IsWinStreakActive(STREAK_TOWER_LINK_MULTIS_50);
break;
}
@@ -1043,7 +1044,7 @@ static void TowerPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x
static void ShowTowerResultsWindow(u8 battleMode)
{
gRecordsWindowId = AddWindow(&gUnknown_08611C74);
gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
if (battleMode == FRONTIER_MODE_SINGLES)
@@ -1071,8 +1072,8 @@ static void ShowTowerResultsWindow(u8 battleMode)
static u16 DomeGetWinStreak(u8 battleMode, u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
if (winStreak > 9999)
return 9999;
if (winStreak > MAX_STREAK)
return MAX_STREAK;
else
return winStreak;
}
@@ -1094,15 +1095,15 @@ static void DomePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2
default:
case FRONTIER_MODE_SINGLES:
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(8);
isCurrent = IsWinStreakActive(STREAK_DOME_SINGLES_OPEN);
else
isCurrent = sub_81A1C24(4);
isCurrent = IsWinStreakActive(STREAK_DOME_SINGLES_50);
break;
case FRONTIER_MODE_DOUBLES:
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(0x200000);
isCurrent = IsWinStreakActive(STREAK_DOME_DOUBLES_OPEN);
else
isCurrent = sub_81A1C24(0x100000);
isCurrent = IsWinStreakActive(STREAK_DOME_DOUBLES_50);
break;
}
@@ -1114,7 +1115,7 @@ static void DomePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2
static void ShowDomeResultsWindow(u8 battleMode)
{
gRecordsWindowId = AddWindow(&gUnknown_08611C74);
gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
if (battleMode == FRONTIER_MODE_SINGLES)
@@ -1140,8 +1141,8 @@ static void ShowDomeResultsWindow(u8 battleMode)
static void PalacePrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
{
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
if (num > 9999)
num = 9999;
if (num > MAX_STREAK)
num = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gText_WinStreak);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
@@ -1156,8 +1157,8 @@ static void PalacePrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8
static u16 PalaceGetWinStreak(u8 battleMode, u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
if (winStreak > 9999)
return 9999;
if (winStreak > MAX_STREAK)
return MAX_STREAK;
else
return winStreak;
}
@@ -1171,15 +1172,15 @@ static void PalacePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8
default:
case FRONTIER_MODE_SINGLES:
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(0x20);
isCurrent = IsWinStreakActive(STREAK_PALACE_SINGLES_OPEN);
else
isCurrent = sub_81A1C24(0x10);
isCurrent = IsWinStreakActive(STREAK_PALACE_SINGLES_50);
break;
case FRONTIER_MODE_DOUBLES:
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(0x800000);
isCurrent = IsWinStreakActive(STREAK_PALACE_DOUBLES_OPEN);
else
isCurrent = sub_81A1C24(0x400000);
isCurrent = IsWinStreakActive(STREAK_PALACE_DOUBLES_50);
}
if (isCurrent == TRUE)
@@ -1190,7 +1191,7 @@ static void PalacePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8
static void ShowPalaceResultsWindow(u8 battleMode)
{
gRecordsWindowId = AddWindow(&gUnknown_08611C74);
gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
if (battleMode == FRONTIER_MODE_SINGLES)
@@ -1214,8 +1215,8 @@ static void ShowPalaceResultsWindow(u8 battleMode)
static u16 PikeGetWinStreak(u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
if (winStreak > 9999)
return 9999;
if (winStreak > MAX_STREAK)
return MAX_STREAK;
else
return winStreak;
}
@@ -1234,9 +1235,9 @@ static void PikePrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
u16 winStreak = PikeGetWinStreak(lvlMode);
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(0x800);
isCurrent = IsWinStreakActive(STREAK_PIKE_OPEN);
else
isCurrent = sub_81A1C24(0x400);
isCurrent = IsWinStreakActive(STREAK_PIKE_50);
if (isCurrent == TRUE)
PrintTwoStrings(gText_Current, gText_RoomsCleared, winStreak, x1, x2, y);
@@ -1246,7 +1247,7 @@ static void PikePrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
static void ShowPikeResultsWindow(void)
{
gRecordsWindowId = AddWindow(&gUnknown_08611C74);
gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
StringExpandPlaceholders(gStringVar4, gText_BattleChoiceResults);
@@ -1268,8 +1269,8 @@ static void ShowPikeResultsWindow(void)
static void ArenaPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
{
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
if (num > 9999)
num = 9999;
if (num > MAX_STREAK)
num = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gText_KOsInARow);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
@@ -1284,8 +1285,8 @@ static void ArenaPrintRecordStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
static u16 ArenaGetWinStreak(u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
if (winStreak > 9999)
return 9999;
if (winStreak > MAX_STREAK)
return MAX_STREAK;
else
return winStreak;
}
@@ -1296,9 +1297,9 @@ static void ArenaPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
u16 winStreak = ArenaGetWinStreak(lvlMode);
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(0x80);
isCurrent = IsWinStreakActive(STREAK_ARENA_OPEN);
else
isCurrent = sub_81A1C24(0x40);
isCurrent = IsWinStreakActive(STREAK_ARENA_50);
if (isCurrent == TRUE)
ArenaPrintStreak(gText_Current, winStreak, x1, x2, y);
@@ -1308,7 +1309,7 @@ static void ArenaPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
static void ShowArenaResultsWindow(void)
{
gRecordsWindowId = AddWindow(&gUnknown_08611C74);
gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
PrintHyphens(10);
@@ -1328,8 +1329,8 @@ static void ShowArenaResultsWindow(void)
static void FactoryPrintStreak(const u8 *str, u16 num1, u16 num2, u8 x1, u8 x2, u8 x3, u8 y)
{
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
if (num1 > 9999)
num1 = 9999;
if (num1 > MAX_STREAK)
num1 = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar1, num1, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gText_WinStreak);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
@@ -1349,8 +1350,8 @@ static void FactoryPrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8
static u16 FactoryGetWinStreak(u8 battleMode, u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode];
if (winStreak > 9999)
return 9999;
if (winStreak > MAX_STREAK)
return MAX_STREAK;
else
return winStreak;
}
@@ -1358,8 +1359,8 @@ static u16 FactoryGetWinStreak(u8 battleMode, u8 lvlMode)
static u16 FactoryGetRentsCount(u8 battleMode, u8 lvlMode)
{
u16 rents = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode];
if (rents > 9999)
return 9999;
if (rents > MAX_STREAK)
return MAX_STREAK;
else
return rents;
}
@@ -1374,15 +1375,15 @@ static void FactoryPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8
default:
case FRONTIER_MODE_SINGLES:
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(0x200);
isCurrent = IsWinStreakActive(STREAK_FACTORY_SINGLES_OPEN);
else
isCurrent = sub_81A1C24(0x100);
isCurrent = IsWinStreakActive(STREAK_FACTORY_SINGLES_50);
break;
case FRONTIER_MODE_DOUBLES:
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(0x2000000);
isCurrent = IsWinStreakActive(STREAK_FACTORY_DOUBLES_OPEN);
else
isCurrent = sub_81A1C24(0x1000000);
isCurrent = IsWinStreakActive(STREAK_FACTORY_DOUBLES_50);
break;
}
@@ -1394,7 +1395,7 @@ static void FactoryPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8
static void ShowFactoryResultsWindow(u8 battleMode)
{
gRecordsWindowId = AddWindow(&gUnknown_08611C74);
gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
if (battleMode == FRONTIER_MODE_SINGLES)
@@ -1419,8 +1420,8 @@ static void ShowFactoryResultsWindow(u8 battleMode)
static void PyramidPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
{
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
if (num > 9999)
num = 9999;
if (num > MAX_STREAK)
num = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gText_FloorsCleared);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
@@ -1435,8 +1436,8 @@ static void PyramidPrintRecordStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
static u16 PyramidGetWinStreak(u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
if (winStreak > 9999)
return 9999;
if (winStreak > MAX_STREAK)
return MAX_STREAK;
else
return winStreak;
}
@@ -1447,9 +1448,9 @@ static void PyramidPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
u16 winStreak = PyramidGetWinStreak(lvlMode);
if (lvlMode != FRONTIER_LVL_50)
isCurrent = sub_81A1C24(0x2000);
isCurrent = IsWinStreakActive(STREAK_PYRAMID_OPEN);
else
isCurrent = sub_81A1C24(0x1000);
isCurrent = IsWinStreakActive(STREAK_PYRAMID_50);
if (isCurrent == TRUE)
PyramidPrintStreak(gText_Current, winStreak, x1, x2, y);
@@ -1459,7 +1460,7 @@ static void PyramidPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
static void ShowPyramidResultsWindow(void)
{
gRecordsWindowId = AddWindow(&gUnknown_08611C74);
gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
StringExpandPlaceholders(gStringVar4, gText_BattleQuestResults);
@@ -1482,7 +1483,7 @@ static void ShowLinkContestResultsWindow(void)
s32 i, j;
s32 x;
gRecordsWindowId = AddWindow(&gUnknown_08611C7C);
gRecordsWindowId = AddWindow(&sLinkContestResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
@@ -1526,7 +1527,7 @@ static void ShowLinkContestResultsWindow(void)
CopyWindowToVram(gRecordsWindowId, 3);
}
static void sub_81A31FC(void)
static void CheckPutFrontierTVShowOnAir(void)
{
u8 name[32];
s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -1543,25 +1544,25 @@ static void sub_81A31FC(void)
{
StringCopy(name, gLinkPlayers[gBattleScripting.multiplayerId ^ 1].name);
StripExtCtrlCodes(name);
StringCopy(gSaveBlock2Ptr->frontier.opponentName[lvlMode], name);
SetTrainerId(gLinkPlayers[gBattleScripting.multiplayerId ^ 1].trainerId, gSaveBlock2Ptr->frontier.field_EF1[lvlMode]);
StringCopy(gSaveBlock2Ptr->frontier.opponentNames[lvlMode], name);
SetTrainerId(gLinkPlayers[gBattleScripting.multiplayerId ^ 1].trainerId, gSaveBlock2Ptr->frontier.opponentTrainerIds[lvlMode]);
}
if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] > 1
&& sub_80EE818())
&& ShouldAirFrontierTVShow())
{
switch (battleMode)
{
case FRONTIER_MODE_SINGLES:
sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 1);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 1);
break;
case FRONTIER_MODE_DOUBLES:
sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 2);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 2);
break;
case FRONTIER_MODE_MULTIS:
sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 3);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 3);
break;
case FRONTIER_MODE_LINK_MULTIS:
sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 4);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 4);
break;
}
}
@@ -1572,12 +1573,12 @@ static void sub_81A31FC(void)
{
gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] > 1
&& sub_80EE818())
&& ShouldAirFrontierTVShow())
{
if (battleMode == FRONTIER_MODE_SINGLES)
sub_80EE8C8(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 5);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 5);
else
sub_80EE8C8(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 6);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 6);
}
}
break;
@@ -1586,12 +1587,12 @@ static void sub_81A31FC(void)
{
gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] > 1
&& sub_80EE818())
&& ShouldAirFrontierTVShow())
{
if (battleMode == FRONTIER_MODE_SINGLES)
sub_80EE8C8(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 11);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 11);
else
sub_80EE8C8(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 12);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 12);
}
}
break;
@@ -1600,9 +1601,9 @@ static void sub_81A31FC(void)
{
gSaveBlock2Ptr->frontier.arenaRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] > 1
&& sub_80EE818())
&& ShouldAirFrontierTVShow())
{
sub_80EE8C8(gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode], 10);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode], 10);
}
}
break;
@@ -1612,12 +1613,12 @@ static void sub_81A31FC(void)
gSaveBlock2Ptr->frontier.factoryRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode];
gSaveBlock2Ptr->frontier.factoryRecordRentsCount[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode];
if (gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] > 1
&& sub_80EE818())
&& ShouldAirFrontierTVShow())
{
if (battleMode == FRONTIER_MODE_SINGLES)
sub_80EE8C8(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 7);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 7);
else
sub_80EE8C8(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 8);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 8);
}
}
break;
@@ -1626,9 +1627,9 @@ static void sub_81A31FC(void)
{
gSaveBlock2Ptr->frontier.pikeRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
if (gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] > 1
&& sub_80EE818())
&& ShouldAirFrontierTVShow())
{
sub_80EE8C8(gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode], 9);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode], 9);
}
}
break;
@@ -1637,9 +1638,9 @@ static void sub_81A31FC(void)
{
gSaveBlock2Ptr->frontier.pyramidRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > 1
&& sub_80EE818())
&& ShouldAirFrontierTVShow())
{
sub_80EE8C8(gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode], 13);
TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode], 13);
}
}
break;
@@ -1772,11 +1773,11 @@ void CopyFrontierTrainerText(u8 whichText, u16 trainerId)
}
}
void sub_81A3908(void)
void ResetWinStreaks(void)
{
s32 battleMode, lvlMode;
gSaveBlock2Ptr->frontier.field_CDC = 0;
gSaveBlock2Ptr->frontier.winStreakActiveFlags = 0;
for (battleMode = 0; battleMode < 4; battleMode++)
{
for (lvlMode = 0; lvlMode < 2; lvlMode++)
@@ -1796,8 +1797,8 @@ void sub_81A3908(void)
}
}
}
if (gSaveBlock2Ptr->frontier.challengeOutcome != 0)
gSaveBlock2Ptr->frontier.challengeOutcome = 1;
if (gSaveBlock2Ptr->frontier.challengeStatus != 0)
gSaveBlock2Ptr->frontier.challengeStatus = CHALLENGE_STATUS_SAVING;
}
u32 GetCurrentFacilityWinStreak(void)
@@ -1827,11 +1828,11 @@ u32 GetCurrentFacilityWinStreak(void)
}
}
void sub_81A3ACC(void)
void ResetFrontierTrainerIds(void)
{
s32 i;
for (i = 0; i < 20; i++)
for (i = 0; i < (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.trainerIds); i++)
gSaveBlock2Ptr->frontier.trainerIds[i] = 0xFFFF;
}
@@ -1849,7 +1850,7 @@ u8 GetPlayerSymbolCountForFacility(u8 facility)
+ FlagGet(FLAG_SYS_TOWER_GOLD + facility * 2);
}
static void sub_81A3B64(void)
static void GiveBattlePoints(void)
{
s32 challengeNum = 0;
s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -1895,7 +1896,7 @@ static void sub_81A3B64(void)
if (gSaveBlock2Ptr->frontier.battlePoints > MAX_BATTLE_FRONTIER_POINTS)
gSaveBlock2Ptr->frontier.battlePoints = MAX_BATTLE_FRONTIER_POINTS;
points = gSaveBlock2Ptr->frontier.field_EBA;
points = gSaveBlock2Ptr->frontier.cardBattlePoints;
points += sBattlePointAwards[challengeNum][facility][battleMode];
IncrementDailyBattlePoints(sBattlePointAwards[challengeNum][facility][battleMode]);
if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN)
@@ -1905,7 +1906,7 @@ static void sub_81A3B64(void)
}
if (points > 0xFFFF)
points = 0xFFFF;
gSaveBlock2Ptr->frontier.field_EBA = points;
gSaveBlock2Ptr->frontier.cardBattlePoints = points;
}
static void GetFacilitySymbolCount(void)
@@ -1931,7 +1932,7 @@ static void CheckBattleTypeFlag(void)
gSpecialVar_Result = FALSE;
}
static u8 AppendBannedMonSpeciesName(u16 species, u8 count, s32 numBannedMonsCaught)
static u8 AppendCaughtBannedMonSpeciesName(u16 species, u8 count, s32 numBannedMonsCaught)
{
if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT))
{
@@ -1961,7 +1962,7 @@ static u8 AppendBannedMonSpeciesName(u16 species, u8 count, s32 numBannedMonsCau
StringAppend(gStringVar1, gText_SpaceAndSpace);
else
StringAppend(gStringVar1, gText_CommaSpace);
StringAppend(gStringVar1, gText_ScrollTextUp);
StringAppend(gStringVar1, gText_LineBreak);
break;
}
StringAppend(gStringVar1, gSpeciesNames[species]);
@@ -2003,7 +2004,10 @@ static void AppendIfValid(u16 species, u16 heldItem, u16 hp, u8 lvlMode, u8 monL
(*count)++;
}
static void sub_81A3FD4(void)
// gSpecialVar_Result is the level mode before and after calls to this function
// gSpecialVar_0x8004 is used to store the return value instead (TRUE if there are insufficient eligible mons)
// The names of ineligible pokemon that have been caught are also buffered to print
static void CheckPartyIneligibility(void)
{
u16 speciesArray[PARTY_SIZE];
u16 itemArray[PARTY_SIZE];
@@ -2013,20 +2017,23 @@ static void sub_81A3FD4(void)
s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
s32 monIdLooper;
// count is re-used, define for clarity
#define numEligibleMons count
switch (battleMode)
{
case FRONTIER_MODE_SINGLES:
toChoose = 3;
toChoose = FRONTIER_PARTY_SIZE;
break;
case FRONTIER_MODE_MULTIS:
case FRONTIER_MODE_LINK_MULTIS:
toChoose = 2;
toChoose = FRONTIER_MULTI_PARTY_SIZE;
break;
case FRONTIER_MODE_DOUBLES:
if (VarGet(VAR_FRONTIER_FACILITY) == FRONTIER_FACILITY_TOWER)
toChoose = 4;
toChoose = FRONTIER_DOUBLES_PARTY_SIZE;
else
toChoose = 3;
toChoose = FRONTIER_PARTY_SIZE;
break;
}
@@ -2034,7 +2041,7 @@ static void sub_81A3FD4(void)
do
{
monId = monIdLooper;
count = 0;
numEligibleMons = 0;
do
{
u16 species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2);
@@ -2044,11 +2051,11 @@ static void sub_81A3FD4(void)
if (VarGet(VAR_FRONTIER_FACILITY) == FRONTIER_FACILITY_PYRAMID)
{
if (heldItem == ITEM_NONE)
AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &count);
AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &numEligibleMons);
}
else
{
AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &count);
AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &numEligibleMons);
}
monId++;
if (monId >= PARTY_SIZE)
@@ -2056,9 +2063,9 @@ static void sub_81A3FD4(void)
} while (monId != monIdLooper);
monIdLooper++;
} while (monIdLooper < PARTY_SIZE && count < toChoose);
} while (monIdLooper < PARTY_SIZE && numEligibleMons < toChoose);
if (count < toChoose)
if (numEligibleMons < toChoose)
{
s32 i;
s32 caughtBannedMons = 0;
@@ -2069,10 +2076,10 @@ static void sub_81A3FD4(void)
caughtBannedMons++;
}
gStringVar1[0] = EOS;
gSpecialVar_0x8004 = 1;
gSpecialVar_0x8004 = TRUE;
count = 0;
for (i = 0; gFrontierBannedSpecies[i] != 0xFFFF; i++)
count = AppendBannedMonSpeciesName(gFrontierBannedSpecies[i], count, caughtBannedMons);
count = AppendCaughtBannedMonSpeciesName(gFrontierBannedSpecies[i], count, caughtBannedMons);
if (count == 0)
{
@@ -2082,7 +2089,7 @@ static void sub_81A3FD4(void)
else
{
if (count & 1)
StringAppend(gStringVar1, gText_ScrollTextUp);
StringAppend(gStringVar1, gText_LineBreak);
else
StringAppend(gStringVar1, gText_Space2);
StringAppend(gStringVar1, gText_Are2);
@@ -2090,9 +2097,10 @@ static void sub_81A3FD4(void)
}
else
{
gSpecialVar_0x8004 = 0;
gSpecialVar_0x8004 = FALSE;
gSaveBlock2Ptr->frontier.lvlMode = gSpecialVar_Result;
}
#undef numEligibleMons
}
static void ValidateVisitingTrainer(void)
@@ -2100,7 +2108,7 @@ static void ValidateVisitingTrainer(void)
ValidateEReaderTrainer();
}
static void sub_81A4230(void)
static void IncrementWinStreak(void)
{
s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -2109,50 +2117,50 @@ static void sub_81A4230(void)
switch (facility)
{
case FRONTIER_FACILITY_TOWER:
if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] < 9999)
if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] < MAX_STREAK)
{
gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]++;
if (battleMode == FRONTIER_MODE_SINGLES)
{
SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]);
gSaveBlock2Ptr->frontier.field_D02 = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode];
gSaveBlock2Ptr->frontier.towerSinglesStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode];
}
}
break;
case FRONTIER_FACILITY_DOME:
if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] < 9999)
if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode]++;
if (gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode] < 9999)
if (gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode]++;
break;
case FRONTIER_FACILITY_PALACE:
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 9999)
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]++;
break;
case FRONTIER_FACILITY_ARENA:
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] < 9999)
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode]++;
break;
case FRONTIER_FACILITY_FACTORY:
if (gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] < 9999)
if (gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode]++;
break;
case FRONTIER_FACILITY_PIKE:
if (gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] < 9999)
if (gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode]++;
break;
case FRONTIER_FACILITY_PYRAMID:
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] < 9999)
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode]++;
break;
}
}
static void sub_81A43A8(void)
static void RestoreHeldItems(void)
{
u8 i;
for (i = 0; i < 4; i++)
for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
{
if (gSaveBlock2Ptr->frontier.selectedPartyMons[i] != 0)
{
@@ -2162,7 +2170,7 @@ static void sub_81A43A8(void)
}
}
static void sub_81A4410(void)
static void SaveRecordBattle(void)
{
gSpecialVar_Result = MoveRecordedBattleToSaveData();
gSaveBlock2Ptr->frontier.field_CA9_b = 1;
@@ -2185,7 +2193,7 @@ static void ResetSketchedMoves(void)
{
u8 i, j, k;
for (i = 0; i < 4; i++)
for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
{
u16 monId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
if (monId < PARTY_SIZE)
@@ -2224,8 +2232,8 @@ static void Print1PRecord(s32 position, s32 x, s32 y, struct RankingHall1P *hall
TVShowConvertInternationalString(text, hallRecord->name, hallRecord->language);
AddTextPrinterParameterized(gRecordsWindowId, 1, text, (x + 2) * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
winStreak = hallRecord->winStreak;
if (winStreak > 9999)
winStreak = 9999;
if (winStreak > MAX_STREAK)
winStreak = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, sHallFacilityToRecordsText[hallFacilityId]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, sHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
@@ -2251,8 +2259,8 @@ static void Print2PRecord(s32 position, s32 x, s32 y, struct RankingHall2P *hall
AddTextPrinterParameterized(gRecordsWindowId, 1, text, (x + 4) * 8, (8 * (y + 5 * position + 1)) + 1, TEXT_SPEED_FF, NULL);
winStreak = hallRecord->winStreak;
if (winStreak > 9999)
winStreak = 9999;
if (winStreak > MAX_STREAK)
winStreak = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, sHallFacilityToRecordsText[RANKING_HALL_BATTLE_TOWER_LINK]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, sHallFacilityToRecordsText[RANKING_HALL_BATTLE_TOWER_LINK], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
@@ -2341,8 +2349,8 @@ static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode)
AddTextPrinterParameterized(gRecordsWindowId, 1, sLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
if (hallFacilityId == RANKING_HALL_BATTLE_TOWER_LINK)
{
gSaveBlock2Ptr->frontier.opponentName[0][PLAYER_NAME_LENGTH] = EOS;
gSaveBlock2Ptr->frontier.opponentName[1][PLAYER_NAME_LENGTH] = EOS;
gSaveBlock2Ptr->frontier.opponentNames[0][PLAYER_NAME_LENGTH] = EOS;
gSaveBlock2Ptr->frontier.opponentNames[1][PLAYER_NAME_LENGTH] = EOS;
Fill2PRecords(records2P, lvlMode);
for (i = 0; i < 3; i++)
Print2PRecord(i, 1, 4, &records2P[i]);
@@ -2357,7 +2365,7 @@ static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode)
void ShowRankingHallRecordsWindow(void)
{
gRecordsWindowId = AddWindow(&gUnknown_08611C84);
gRecordsWindowId = AddWindow(&sRankingHallRecordsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
PrintHallRecords(gSpecialVar_0x8005, FRONTIER_LVL_50);
@@ -2402,7 +2410,7 @@ void ClearRankingHallRecords(void)
}
}
void sub_81A4C30(void)
void SaveGameFrontier(void)
{
s32 i;
struct Pokemon *monsParty = calloc(PARTY_SIZE, sizeof(struct Pokemon));
+1 -1
View File
@@ -453,7 +453,7 @@ static void LinkTestProcessKeyInput(void)
}
if (gMain.newKeys & R_BUTTON)
{
TrySavingData(1);
TrySavingData(SAVE_LINK);
}
if (gMain.newKeys & SELECT_BUTTON)
{
+1 -1
View File
@@ -921,7 +921,7 @@ static bool32 mevent_save_game(u8 * state)
(*state)++;
break;
case 1:
TrySavingData(0);
TrySavingData(SAVE_NORMAL);
(*state)++;
break;
case 2:
+2 -2
View File
@@ -122,8 +122,8 @@ static void ClearFrontierRecord(void)
{
CpuFill32(0, &gSaveBlock2Ptr->frontier, sizeof(gSaveBlock2Ptr->frontier));
gSaveBlock2Ptr->frontier.opponentName[0][0] = EOS;
gSaveBlock2Ptr->frontier.opponentName[1][0] = EOS;
gSaveBlock2Ptr->frontier.opponentNames[0][0] = EOS;
gSaveBlock2Ptr->frontier.opponentNames[1][0] = EOS;
}
static void WarpToTruck(void)
+1 -1
View File
@@ -1715,7 +1715,7 @@ void CB2_ContinueSavedGame(void)
StopMapMusic();
ResetSafariZoneFlag_();
if (gSaveFileStatus == 0xFF)
sub_81A3908();
ResetWinStreaks();
LoadSaveblockMapHeader();
ClearDiveAndHoleWarps();
+1 -1
View File
@@ -1887,7 +1887,7 @@ const u16 gLinkPlayerFacilityClasses[] =
FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_GUITARIST,
FACILITY_CLASS_COOLTRAINER_F, FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_PICNICKER,
FACILITY_CLASS_LASS, FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_BATTLE_GIRL,
FACILITY_CLASS_POKEMON_BREEDER_F, FACILITY_CLASS_BEAUTY
FACILITY_CLASS_PKMN_BREEDER_F, FACILITY_CLASS_BEAUTY
};
static const u8 sHoldEffectToType[][2] =
+2 -2
View File
@@ -1094,9 +1094,9 @@ void GetPlayerHallRecords(struct PlayerHallRecords *dst)
{
dst->twoPlayers[j].language = GAME_LANGUAGE;
CopyTrainerId(dst->twoPlayers[j].id1, gSaveBlock2Ptr->playerTrainerId);
CopyTrainerId(dst->twoPlayers[j].id2, gSaveBlock2Ptr->frontier.field_EF1[j]);
CopyTrainerId(dst->twoPlayers[j].id2, gSaveBlock2Ptr->frontier.opponentTrainerIds[j]);
StringCopy(dst->twoPlayers[j].name1, gSaveBlock2Ptr->playerName);
StringCopy(dst->twoPlayers[j].name2, gSaveBlock2Ptr->frontier.opponentName[j]);
StringCopy(dst->twoPlayers[j].name2, gSaveBlock2Ptr->frontier.opponentNames[j]);
}
for (i = 0; i < 2; i++)
+4 -4
View File
@@ -334,9 +334,9 @@ bool32 MoveRecordedBattleToSaveData(void)
s32 i, j;
bool32 ret;
struct RecordedBattleSave *battleSave, *savSection;
u8 var;
u8 saveAttempts;
var = 0;
saveAttempts = 0;
battleSave = AllocZeroed(sizeof(struct RecordedBattleSave));
savSection = AllocZeroed(0x1000);
@@ -480,8 +480,8 @@ bool32 MoveRecordedBattleToSaveData(void)
ret = RecordedBattleToSave(battleSave, savSection);
if (ret == TRUE)
break;
var++;
if (var >= 3)
saveAttempts++;
if (saveAttempts >= 3)
break;
}
+1 -1
View File
@@ -608,7 +608,7 @@ static void Task_ResetRtcScreen(u8 taskId)
}
break;
case 4:
if (TrySavingData(0) == 1)
if (TrySavingData(SAVE_NORMAL) == 1)
{
ShowMessage(gText_SaveCompleted);
PlaySE(SE_PINPON);
+2 -2
View File
@@ -683,8 +683,8 @@ u8 HandleSavingData(u8 saveType)
SaveSerializedGame();
save_write_to_flash(0xFFFF, gRamSaveSectionLocations);
break;
case SAVE_LINK: // _081532C4
case SAVE_LINK2:
case SAVE_LINK: // Link and Battle Frontier
case SAVE_LINK2: // Unused
SaveSerializedGame();
for(i = 0; i < 5; i++)
ClearSaveData_2(i, gRamSaveSectionLocations);
+1 -1
View File
@@ -640,7 +640,7 @@ void CreateScriptedWildMon(u16 species, u8 level, u16 item)
u8 heldItem[2];
ZeroEnemyPartyMons();
CreateMon(&gEnemyParty[0], species, level, 0x20, 0, 0, OT_ID_PLAYER_ID, 0);
CreateMon(&gEnemyParty[0], species, level, 32, 0, 0, OT_ID_PLAYER_ID, 0);
if (item)
{
heldItem[0] = item;
+2 -2
View File
@@ -728,7 +728,7 @@ static void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCar
trainerCard->version = GAME_VERSION;
SetPlayerCardData(trainerCard, CARD_TYPE_EMERALD);
trainerCard->hasAllSymbols = HasAllFrontierSymbols();
trainerCard->frontierBP = gSaveBlock2Ptr->frontier.field_EBA;
trainerCard->frontierBP = gSaveBlock2Ptr->frontier.cardBattlePoints;
if (trainerCard->hasAllSymbols)
trainerCard->stars++;
@@ -744,7 +744,7 @@ void TrainerCard_GenerateCardForPlayer(struct TrainerCard *trainerCard)
trainerCard->version = GAME_VERSION;
SetPlayerCardData(trainerCard, CARD_TYPE_EMERALD);
trainerCard->var_3A = HasAllFrontierSymbols();
*((u16*)&trainerCard->berryCrushPoints) = gSaveBlock2Ptr->frontier.field_EBA;
*((u16*)&trainerCard->berryCrushPoints) = gSaveBlock2Ptr->frontier.cardBattlePoints;
if (trainerCard->var_3A)
trainerCard->stars++;
+16 -15
View File
@@ -1,7 +1,6 @@
#include "global.h"
#include "rtc.h"
#include "overworld.h"
#include "constants/maps.h"
#include "random.h"
#include "event_data.h"
#include "fieldmap.h"
@@ -14,12 +13,9 @@
#include "pokemon_storage_system.h"
#include "field_message_box.h"
#include "easy_chat.h"
#include "constants/species.h"
#include "constants/moves.h"
#include "battle.h"
#include "battle_tower.h"
#include "contest.h"
#include "constants/items.h"
#include "item.h"
#include "link.h"
#include "main.h"
@@ -33,15 +29,20 @@
#include "naming_screen.h"
#include "malloc.h"
#include "region_map.h"
#include "constants/region_map_sections.h"
#include "decoration.h"
#include "secret_base.h"
#include "tv.h"
#include "data.h"
#include "constants/battle_frontier.h"
#include "constants/contest.h"
#include "constants/items.h"
#include "constants/layouts.h"
#include "constants/maps.h"
#include "constants/metatile_behaviors.h"
#include "constants/moves.h"
#include "constants/region_map_sections.h"
#include "constants/script_menu.h"
#include "constants/species.h"
#include "constants/tv.h"
// Static type declarations
@@ -1538,12 +1539,12 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void)
show->bravoTrainerTower.kind = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE;
show->bravoTrainerTower.active = TRUE;
StringCopy(show->bravoTrainerTower.trainerName, gSaveBlock2Ptr->playerName);
StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2Ptr->frontier.field_BD8);
show->bravoTrainerTower.species = gSaveBlock2Ptr->frontier.field_BD4;
show->bravoTrainerTower.defeatedSpecies = gSaveBlock2Ptr->frontier.field_BD6;
show->bravoTrainerTower.numFights = GetCurrentBattleTowerWinStreak(gSaveBlock2Ptr->frontier.field_D07, 0);
show->bravoTrainerTower.wonTheChallenge = gSaveBlock2Ptr->frontier.field_D06;
if (gSaveBlock2Ptr->frontier.field_D07 == 0)
StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2Ptr->frontier.towerInterview.opponentName);
show->bravoTrainerTower.species = gSaveBlock2Ptr->frontier.towerInterview.playerSpecies;
show->bravoTrainerTower.defeatedSpecies = gSaveBlock2Ptr->frontier.towerInterview.opponentSpecies;
show->bravoTrainerTower.numFights = GetCurrentBattleTowerWinStreak(gSaveBlock2Ptr->frontier.towerLvlMode, 0);
show->bravoTrainerTower.wonTheChallenge = gSaveBlock2Ptr->frontier.towerBattleOutcome;
if (gSaveBlock2Ptr->frontier.towerLvlMode == FRONTIER_LVL_50)
{
show->bravoTrainerTower.btLevel = 50;
}
@@ -1554,13 +1555,13 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void)
show->bravoTrainerTower.interviewResponse = gSpecialVar_0x8004;
tv_store_id_2x(show);
show->bravoTrainerTower.language = gGameLanguage;
if (show->bravoTrainerTower.language == LANGUAGE_JAPANESE || gSaveBlock2Ptr->frontier.field_BEB == LANGUAGE_JAPANESE)
if (show->bravoTrainerTower.language == LANGUAGE_JAPANESE || gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage == LANGUAGE_JAPANESE)
{
show->bravoTrainerTower.pokemonNameLanguage = LANGUAGE_JAPANESE;
}
else
{
show->bravoTrainerTower.pokemonNameLanguage = gSaveBlock2Ptr->frontier.field_BEB;
show->bravoTrainerTower.pokemonNameLanguage = gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage;
}
}
@@ -2466,7 +2467,7 @@ bool8 ShouldHideFanClubInterviewer(void)
return FALSE;
}
bool8 sub_80EE818(void)
bool8 ShouldAirFrontierTVShow(void)
{
u32 playerId;
u8 showIdx;
@@ -2494,7 +2495,7 @@ bool8 sub_80EE818(void)
return TRUE;
}
void sub_80EE8C8(u16 winStreak, u8 facilityAndMode)
void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facilityAndMode)
{
TVShow *show;