mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
Some frontier field_specials documentation
This commit is contained in:
parent
aac9658a8e
commit
3dbd375779
@ -3,12 +3,12 @@ BattleFrontier_BattlePointExchangeServiceCorner_MapScripts:: @ 825F070
|
||||
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071:: @ 825F071
|
||||
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F7FA, MSGBOX_DEFAULT
|
||||
special sub_813A958
|
||||
special ShowBattlePointsWindow
|
||||
return
|
||||
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D:: @ 825F07D
|
||||
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF12, MSGBOX_DEFAULT
|
||||
special sub_813A988
|
||||
special CloseBattlePointsWindow
|
||||
release
|
||||
end
|
||||
|
||||
@ -41,7 +41,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5:: @ 825F0E5
|
||||
copyvar VAR_0x8004, VAR_0x8008
|
||||
special TakeFrontierBattlePoints
|
||||
givedecoration VAR_0x8009
|
||||
special sub_813A8FC
|
||||
special UpdateBattlePointsWindow
|
||||
playse SE_REGI
|
||||
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE45, MSGBOX_DEFAULT
|
||||
compare VAR_TEMP_2, 0
|
||||
@ -51,7 +51,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5:: @ 825F0E5
|
||||
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D:: @ 825F11D
|
||||
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEB9, MSGBOX_DEFAULT
|
||||
special sub_813A988
|
||||
special CloseBattlePointsWindow
|
||||
release
|
||||
end
|
||||
|
||||
@ -62,7 +62,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A:: @ 825F12A
|
||||
copyvar VAR_0x8004, VAR_0x8008
|
||||
special TakeFrontierBattlePoints
|
||||
giveitem VAR_0x8009, 1
|
||||
special sub_813A8FC
|
||||
special UpdateBattlePointsWindow
|
||||
playse SE_REGI
|
||||
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE72, MSGBOX_DEFAULT
|
||||
compare VAR_TEMP_2, 2
|
||||
@ -72,7 +72,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A:: @ 825F12A
|
||||
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166:: @ 825F166
|
||||
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEE3, MSGBOX_DEFAULT
|
||||
special sub_813A988
|
||||
special CloseBattlePointsWindow
|
||||
release
|
||||
end
|
||||
|
||||
@ -86,10 +86,10 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F173:: @ 825F173
|
||||
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185:: @ 825F185
|
||||
setvar VAR_0x8004, SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1
|
||||
special sub_813AA18
|
||||
special ShowFrontierExchangeCornerItemIconWindow
|
||||
special ShowScrollableMultichoice
|
||||
waitstate
|
||||
special sub_813AA44
|
||||
special CloseFrontierExchangeCornerItemIconWindow
|
||||
switch VAR_RESULT
|
||||
case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E
|
||||
case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241
|
||||
@ -205,10 +205,10 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F37C:: @ 825F37C
|
||||
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E:: @ 825F38E
|
||||
setvar VAR_0x8004, SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2
|
||||
special sub_813AA18
|
||||
special ShowFrontierExchangeCornerItemIconWindow
|
||||
special ShowScrollableMultichoice
|
||||
waitstate
|
||||
special sub_813AA44
|
||||
special CloseFrontierExchangeCornerItemIconWindow
|
||||
switch VAR_RESULT
|
||||
case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0
|
||||
case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413
|
||||
@ -274,10 +274,10 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F49F:: @ 825F49F
|
||||
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1:: @ 825F4B1
|
||||
setvar VAR_0x8004, SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR
|
||||
special sub_813AA18
|
||||
special ShowFrontierExchangeCornerItemIconWindow
|
||||
special ShowScrollableMultichoice
|
||||
waitstate
|
||||
special sub_813AA44
|
||||
special CloseFrontierExchangeCornerItemIconWindow
|
||||
switch VAR_RESULT
|
||||
case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E
|
||||
case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541
|
||||
@ -353,10 +353,10 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5F0:: @ 825F5F0
|
||||
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602:: @ 825F602
|
||||
setvar VAR_0x8004, SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR
|
||||
special sub_813AA18
|
||||
special ShowFrontierExchangeCornerItemIconWindow
|
||||
special ShowScrollableMultichoice
|
||||
waitstate
|
||||
special sub_813AA44
|
||||
special CloseFrontierExchangeCornerItemIconWindow
|
||||
switch VAR_RESULT
|
||||
case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690
|
||||
case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3
|
||||
|
@ -40,7 +40,7 @@ BattleFrontier_Lounge2_EventScript_26066D:: @ 826066D
|
||||
call_if_le BattleFrontier_Lounge2_EventScript_2606F8
|
||||
compare VAR_FRONTIER_MANIAC_FACILITY, 4
|
||||
call_if_ge BattleFrontier_Lounge2_EventScript_260701
|
||||
special sub_8139F20
|
||||
special ShowFrontierManiacMessage
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
release
|
||||
|
@ -14,7 +14,7 @@ BattleFrontier_Lounge3_EventScript_261D83:: @ 8261D83
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge3_EventScript_261DAF:: @ 8261DAF
|
||||
special sub_813A820
|
||||
special ShowFrontierGamblerLookingMessage
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
msgbox BattleFrontier_Lounge3_Text_262A60, MSGBOX_YESNO
|
||||
@ -25,7 +25,7 @@ BattleFrontier_Lounge3_EventScript_261DAF:: @ 8261DAF
|
||||
goto_if_eq BattleFrontier_Lounge3_EventScript_261FA5
|
||||
message BattleFrontier_Lounge3_Text_262B42
|
||||
waitmessage
|
||||
special sub_813A958
|
||||
special ShowBattlePointsWindow
|
||||
goto BattleFrontier_Lounge3_EventScript_261DE9
|
||||
end
|
||||
|
||||
@ -33,10 +33,10 @@ BattleFrontier_Lounge3_EventScript_261DE9:: @ 8261DE9
|
||||
multichoice 20, 4, 87, 0
|
||||
copyvar VAR_FRONTIER_GAMBLER_AMOUNT_BET, VAR_RESULT
|
||||
switch VAR_RESULT
|
||||
case 0, BattleFrontier_Lounge3_EventScript_261E30
|
||||
case 1, BattleFrontier_Lounge3_EventScript_261E3B
|
||||
case 2, BattleFrontier_Lounge3_EventScript_261E46
|
||||
case 3, BattleFrontier_Lounge3_EventScript_261FAF
|
||||
case FRONTIER_GAMBLER_BET_5, BattleFrontier_Lounge3_EventScript_261E30
|
||||
case FRONTIER_GAMBLER_BET_10, BattleFrontier_Lounge3_EventScript_261E3B
|
||||
case FRONTIER_GAMBLER_BET_15, BattleFrontier_Lounge3_EventScript_261E46
|
||||
case FRONTIER_GAMBLER_BET_CANCEL, BattleFrontier_Lounge3_EventScript_261FAF
|
||||
case 127, BattleFrontier_Lounge3_EventScript_261FAF
|
||||
end
|
||||
|
||||
@ -68,18 +68,18 @@ BattleFrontier_Lounge3_EventScript_261E51:: @ 8261E51
|
||||
BattleFrontier_Lounge3_EventScript_261E75:: @ 8261E75
|
||||
copyvar VAR_0x8004, VAR_0x8008
|
||||
special TakeFrontierBattlePoints
|
||||
setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
|
||||
special sub_813A8FC
|
||||
setvar VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET
|
||||
special UpdateBattlePointsWindow
|
||||
playse SE_REGI
|
||||
msgbox BattleFrontier_Lounge3_Text_262BE0, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_Lounge3_EventScript_261E96
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge3_EventScript_261E96:: @ 8261E96
|
||||
special sub_813A854
|
||||
special ShowFrontierGamblerGoMessage
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
special sub_813A988
|
||||
special CloseBattlePointsWindow
|
||||
release
|
||||
end
|
||||
|
||||
@ -105,37 +105,37 @@ BattleFrontier_Lounge3_EventScript_261EEB:: @ 8261EEB
|
||||
|
||||
BattleFrontier_Lounge3_EventScript_261EF9:: @ 8261EF9
|
||||
msgbox BattleFrontier_Lounge3_Text_26346B, MSGBOX_DEFAULT
|
||||
compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
|
||||
compare VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET
|
||||
goto_if_ge BattleFrontier_Lounge3_EventScript_261F12
|
||||
goto BattleFrontier_Lounge3_EventScript_261DAF
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge3_EventScript_261F12:: @ 8261F12
|
||||
compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
|
||||
compare VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET
|
||||
goto_if_eq BattleFrontier_Lounge3_EventScript_261F9E
|
||||
compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2
|
||||
compare VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WON
|
||||
goto_if_eq BattleFrontier_Lounge3_EventScript_261F2E
|
||||
goto BattleFrontier_Lounge3_EventScript_261F71
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge3_EventScript_261F2E:: @ 8261F2E
|
||||
msgbox BattleFrontier_Lounge3_Text_263334, MSGBOX_DEFAULT
|
||||
compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 0
|
||||
compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_5
|
||||
call_if_eq BattleFrontier_Lounge3_EventScript_261F80
|
||||
compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 1
|
||||
compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_10
|
||||
call_if_eq BattleFrontier_Lounge3_EventScript_261F8A
|
||||
compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 2
|
||||
compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_15
|
||||
call_if_eq BattleFrontier_Lounge3_EventScript_261F94
|
||||
msgbox BattleFrontier_Lounge3_Text_2633D4, 9
|
||||
special GiveFrontierBattlePoints
|
||||
msgbox BattleFrontier_Lounge3_Text_2633F2, MSGBOX_DEFAULT
|
||||
setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 0
|
||||
setvar VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WAITING
|
||||
release
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge3_EventScript_261F71:: @ 8261F71
|
||||
msgbox BattleFrontier_Lounge3_Text_263298, MSGBOX_DEFAULT
|
||||
setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 0
|
||||
setvar VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WAITING
|
||||
release
|
||||
end
|
||||
|
||||
@ -155,7 +155,7 @@ BattleFrontier_Lounge3_EventScript_261F94:: @ 8261F94
|
||||
return
|
||||
|
||||
BattleFrontier_Lounge3_EventScript_261F9E:: @ 8261F9E
|
||||
special sub_813A854
|
||||
special ShowFrontierGamblerGoMessage
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
release
|
||||
@ -167,7 +167,7 @@ BattleFrontier_Lounge3_EventScript_261FA5:: @ 8261FA5
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge3_EventScript_261FAF:: @ 8261FAF
|
||||
special sub_813A988
|
||||
special CloseBattlePointsWindow
|
||||
goto BattleFrontier_Lounge3_EventScript_261FA5
|
||||
end
|
||||
|
||||
|
@ -16,7 +16,7 @@ BattleFrontier_Lounge5_EventScript_2645C6:: @ 82645C6
|
||||
specialvar VAR_RESULT, ScriptGetPartyMonSpecies
|
||||
compare VAR_RESULT, SPECIES_EGG
|
||||
goto_if_eq BattleFrontier_Lounge5_EventScript_264603
|
||||
special sub_813A7B8
|
||||
special ShowNatureGirlMessage
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
release
|
||||
|
@ -19,7 +19,7 @@ BattleFrontier_Lounge7_EventScript_265276:: @ 8265276
|
||||
BattleFrontier_Lounge7_EventScript_265284:: @ 8265284
|
||||
message BattleFrontier_Lounge7_Text_2658EF
|
||||
waitmessage
|
||||
special sub_813A958
|
||||
special ShowBattlePointsWindow
|
||||
setvar VAR_TEMP_E, 0
|
||||
setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_1
|
||||
setvar VAR_0x8006, 0
|
||||
@ -133,7 +133,7 @@ BattleFrontier_Lounge7_EventScript_265466:: @ 8265466
|
||||
BattleFrontier_Lounge7_EventScript_265474:: @ 8265474
|
||||
message BattleFrontier_Lounge7_Text_2658EF
|
||||
waitmessage
|
||||
special sub_813A958
|
||||
special ShowBattlePointsWindow
|
||||
setvar VAR_TEMP_E, 1
|
||||
setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2
|
||||
setvar VAR_0x8006, 0
|
||||
@ -231,7 +231,7 @@ BattleFrontier_Lounge7_EventScript_26562A:: @ 826562A
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_265635:: @ 8265635
|
||||
special sub_813ADB8
|
||||
special sub_813A988
|
||||
special CloseBattlePointsWindow
|
||||
msgbox BattleFrontier_Lounge7_Text_265A0E, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
@ -263,7 +263,7 @@ BattleFrontier_Lounge7_EventScript_265696:: @ 8265696
|
||||
msgbox BattleFrontier_Lounge7_Text_26595A, MSGBOX_DEFAULT
|
||||
special sub_813AEB4
|
||||
fadescreen 1
|
||||
special sub_813A988
|
||||
special CloseBattlePointsWindow
|
||||
special sub_813ADB8
|
||||
special sub_81B892C
|
||||
waitstate
|
||||
|
@ -450,7 +450,7 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_80F9160
|
||||
def_special ShowRankingHallRecordsWindow
|
||||
def_special ScrollRankingHallRecordsWindow
|
||||
def_special sub_8139F20
|
||||
def_special ShowFrontierManiacMessage
|
||||
def_special sub_80F9134
|
||||
def_special sub_80F9154
|
||||
def_special sub_80B3028
|
||||
@ -462,22 +462,22 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_81B95E0
|
||||
def_special sub_81B9620
|
||||
def_special sub_813A76C
|
||||
def_special sub_813A7B8
|
||||
def_special sub_813A958
|
||||
def_special sub_813A8FC
|
||||
def_special sub_813A988
|
||||
def_special ShowNatureGirlMessage
|
||||
def_special ShowBattlePointsWindow
|
||||
def_special UpdateBattlePointsWindow
|
||||
def_special CloseBattlePointsWindow
|
||||
def_special GiveFrontierBattlePoints
|
||||
def_special TakeFrontierBattlePoints
|
||||
def_special GetFrontierBattlePoints
|
||||
def_special sub_813AA18
|
||||
def_special sub_813AA44
|
||||
def_special ShowFrontierExchangeCornerItemIconWindow
|
||||
def_special CloseFrontierExchangeCornerItemIconWindow
|
||||
def_special DisplayBerryPowderVendorMenu
|
||||
def_special RemoveBerryPowderVendorMenu
|
||||
def_special HasEnoughBerryPowder
|
||||
def_special TakeBerryPowder
|
||||
def_special PrintPlayerBerryPowderAmount
|
||||
def_special sub_813A820
|
||||
def_special sub_813A854
|
||||
def_special ShowFrontierGamblerLookingMessage
|
||||
def_special ShowFrontierGamblerGoMessage
|
||||
def_special sub_813B7D8
|
||||
def_special sub_81C72A4
|
||||
def_special sp106_CreateStartMenu
|
||||
|
@ -41,4 +41,33 @@
|
||||
#define DEPT_STORE_FLOORNUM_11F 14
|
||||
#define DEPT_STORE_FLOORNUM_ROOFTOP 15
|
||||
|
||||
// Frontier Maniac
|
||||
#define FRONTIER_MANIAC_BATTLE_TOWER_SINGLES 0
|
||||
#define FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES 1
|
||||
#define FRONTIER_MANIAC_BATTLE_TOWER_MULTIS 2
|
||||
#define FRONTIER_MANIAC_BATTLE_TOWER_LINK_MULTIS 3
|
||||
#define FRONTIER_MANIAC_BATTLE_DOME 4
|
||||
#define FRONTIER_MANIAC_BATTLE_FACTORY 5
|
||||
#define FRONTIER_MANIAC_BATTLE_PALACE 6
|
||||
#define FRONTIER_MANIAC_BATTLE_ARENA 7
|
||||
#define FRONTIER_MANIAC_BATTLE_PIKE 8
|
||||
#define FRONTIER_MANIAC_BATTLE_PYRAMID 9
|
||||
#define FRONTIER_MANIAC_FACILITY_COUNT 10
|
||||
|
||||
#define FRONTIER_MANIAC_MESSAGE_COUNT 3
|
||||
|
||||
// Frontier Gambler
|
||||
#define FRONTIER_GAMBLER_WAITING 0
|
||||
#define FRONTIER_GAMBLER_PLACED_BET 1
|
||||
#define FRONTIER_GAMBLER_WON 2
|
||||
#define FRONTIER_GAMBLER_LOST 3
|
||||
|
||||
#define FRONTIER_GAMBLER_BET_5 0
|
||||
#define FRONTIER_GAMBLER_BET_10 1
|
||||
#define FRONTIER_GAMBLER_BET_15 2
|
||||
#define FRONTIER_GAMBLER_BET_CANCEL 3
|
||||
|
||||
#define FRONTIER_GAMBLER_CHALLENGE_COUNT 12
|
||||
|
||||
|
||||
#endif // GUARD_CONSTANTS_FIELD_SPECIALS_H
|
||||
|
@ -61,10 +61,10 @@
|
||||
#define VAR_0x402E 0x402E
|
||||
|
||||
#define VAR_FRONTIER_MANIAC_FACILITY 0x402F
|
||||
#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030
|
||||
#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031
|
||||
#define VAR_FRONTIER_GAMBLER_CHALLENGE 0x4030
|
||||
#define VAR_FRONTIER_GAMBLER_SET_CHALLENGE 0x4031
|
||||
#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032
|
||||
#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033
|
||||
#define VAR_FRONTIER_GAMBLER_STATE 0x4033
|
||||
|
||||
#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034
|
||||
#define VAR_DEOXYS_ROCK_LEVEL 0x4035
|
||||
|
@ -20,7 +20,7 @@ bool32 ShouldDoRivalRayquazaCall(void);
|
||||
bool32 CountSSTidalStep(u16 delta);
|
||||
u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y);
|
||||
void ShowScrollableMultichoice(void);
|
||||
void sub_813A878(u8 a0);
|
||||
void FrontierGamblerSetWonOrLost(bool8 won);
|
||||
u8 sub_813BADC(u8 a0);
|
||||
bool8 InPokemonCenter(void);
|
||||
void SetShoalItemFlag(u16 v0);
|
||||
|
@ -1,4 +1,4 @@
|
||||
static const u16 sBFExchangeCorner_Decor1[] =
|
||||
static const u16 sFrontierExchangeCorner_Decor1[] =
|
||||
{
|
||||
DECOR_KISS_POSTER,
|
||||
DECOR_KISS_CUSHION,
|
||||
@ -13,7 +13,7 @@ static const u16 sBFExchangeCorner_Decor1[] =
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u16 sBFExchangeCorner_Decor2[] =
|
||||
static const u16 sFrontierExchangeCorner_Decor2[] =
|
||||
{
|
||||
DECOR_LAPRAS_DOLL,
|
||||
DECOR_SNORLAX_DOLL,
|
||||
@ -23,7 +23,7 @@ static const u16 sBFExchangeCorner_Decor2[] =
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u16 sBFExchangeCorner_Vitamins[] =
|
||||
static const u16 sFrontierExchangeCorner_Vitamins[] =
|
||||
{
|
||||
ITEM_PROTEIN,
|
||||
ITEM_CALCIUM,
|
||||
@ -34,7 +34,7 @@ static const u16 sBFExchangeCorner_Vitamins[] =
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u16 sBFExchangeCorner_HoldItems[] =
|
||||
static const u16 sFrontierExchangeCorner_HoldItems[] =
|
||||
{
|
||||
ITEM_LEFTOVERS,
|
||||
ITEM_WHITE_HERB,
|
||||
@ -48,7 +48,7 @@ static const u16 sBFExchangeCorner_HoldItems[] =
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u8 *const sBFExchangeCorner_Decor1Descriptions[] =
|
||||
static const u8 *const sFrontierExchangeCorner_Decor1Descriptions[] =
|
||||
{
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA,
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0,
|
||||
@ -63,7 +63,7 @@ static const u8 *const sBFExchangeCorner_Decor1Descriptions[] =
|
||||
gText_Exit,
|
||||
};
|
||||
|
||||
static const u8 *const sBFExchangeCorner_Decor2Descriptions[] =
|
||||
static const u8 *const sFrontierExchangeCorner_Decor2Descriptions[] =
|
||||
{
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C,
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C,
|
||||
@ -73,7 +73,7 @@ static const u8 *const sBFExchangeCorner_Decor2Descriptions[] =
|
||||
gText_Exit
|
||||
};
|
||||
|
||||
static const u8 *const sBFExchangeCorner_VitaminsDescriptions[] =
|
||||
static const u8 *const sFrontierExchangeCorner_VitaminsDescriptions[] =
|
||||
{
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_Text_260397,
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE,
|
||||
@ -84,7 +84,7 @@ static const u8 *const sBFExchangeCorner_VitaminsDescriptions[] =
|
||||
gText_Exit
|
||||
};
|
||||
|
||||
static const u8 *const sBFExchangeCorner_HoldItemsDescriptions[] =
|
||||
static const u8 *const sFrontierExchangeCorner_HoldItemsDescriptions[] =
|
||||
{
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A,
|
||||
BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC,
|
||||
|
@ -66,15 +66,15 @@ EWRAM_DATA u8 gBikeCollisions = 0;
|
||||
static EWRAM_DATA u32 gBikeCyclingTimer = 0;
|
||||
static EWRAM_DATA u8 gUnknown_0203AB5C = 0;
|
||||
static EWRAM_DATA u8 sPetalburgGymSlidingDoorFrameCounter = 0;
|
||||
static EWRAM_DATA u8 gUnknown_0203AB5E = 0;
|
||||
static EWRAM_DATA u8 gTutorMoveAndElevatorWindowId = 0;
|
||||
static EWRAM_DATA u16 gLilycoveDeptStore_NeverRead = 0;
|
||||
static EWRAM_DATA u16 gLilycoveDeptStore_DefaultFloorChoice = 0;
|
||||
static EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL;
|
||||
static EWRAM_DATA u16 gUnknown_0203AB68 = 0;
|
||||
static EWRAM_DATA u16 gUnknown_0203AB6A = 0;
|
||||
static EWRAM_DATA u16 gFrontierExchangeCorner_NeverRead = 0;
|
||||
static EWRAM_DATA u8 gScrollableMultichoiceSprite = 0;
|
||||
static EWRAM_DATA u8 gUnknown_0203AB6D = 0;
|
||||
static EWRAM_DATA u8 gUnknown_0203AB6E = 0;
|
||||
static EWRAM_DATA u8 gBattlePointsWindowId = 0;
|
||||
static EWRAM_DATA u8 gFrontierExchangeCornerItemIconWindowId = 0;
|
||||
static EWRAM_DATA u8 gUnknown_0203AB6F = 0;
|
||||
static EWRAM_DATA u32 gUnknown_0203AB70 = 0;
|
||||
|
||||
@ -105,19 +105,19 @@ static void sub_8139AF4(u8 taskId);
|
||||
static void sub_8139C2C(u16 a1, bool8 descending);
|
||||
static void MoveElevatorWindowLights(u8 taskId);
|
||||
static void sub_813A2DC(u8 taskId);
|
||||
static void sub_813AA60(u16 menu, u16 selection);
|
||||
static void FillFrontierExchangeCornerWindow(u16 menu, u16 selection);
|
||||
static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection);
|
||||
static void sub_813A42C(void);
|
||||
static void sub_813A4EC(u8 taskId);
|
||||
static void sub_813A694(u8 taskId);
|
||||
static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list);
|
||||
static void sub_813AC44(u16 menu, u16 selection);
|
||||
static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused);
|
||||
static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection);
|
||||
static void sub_813A570(u8 taskId);
|
||||
static void sub_813A738(u8 taskId);
|
||||
static void sub_813A600(u8 taskId);
|
||||
static void sub_813A664(u8 taskId);
|
||||
static void ScrollMulti_ShowItemIcon(u16 item);
|
||||
static void ShowFrontierExchangeCornerItemIcon(u16 item);
|
||||
static void Task_DeoxysRockInteraction(u8 taskId);
|
||||
static void ChangeDeoxysRockLevel(u8 a0);
|
||||
static void WaitForDeoxysRockMovement(u8 taskId);
|
||||
@ -1886,23 +1886,23 @@ void sub_8139B60(void)
|
||||
{
|
||||
int xPos;
|
||||
|
||||
gUnknown_0203AB5E = AddWindow(&gElevatorFloor_WindowTemplate);
|
||||
SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0);
|
||||
gTutorMoveAndElevatorWindowId = AddWindow(&gElevatorFloor_WindowTemplate);
|
||||
SetStandardWindowBorderStyle(gTutorMoveAndElevatorWindowId, 0);
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64);
|
||||
AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gTutorMoveAndElevatorWindowId, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL);
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(1, gDeptStoreFloorNames[gSpecialVar_0x8005], 64);
|
||||
AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gTutorMoveAndElevatorWindowId, 1, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL);
|
||||
|
||||
PutWindowTilemap(gUnknown_0203AB5E);
|
||||
CopyWindowToVram(gUnknown_0203AB5E, 3);
|
||||
PutWindowTilemap(gTutorMoveAndElevatorWindowId);
|
||||
CopyWindowToVram(gTutorMoveAndElevatorWindowId, 3);
|
||||
}
|
||||
|
||||
void sub_8139C10(void)
|
||||
{
|
||||
ClearStdWindowAndFrameToTransparent(gUnknown_0203AB5E, TRUE);
|
||||
RemoveWindow(gUnknown_0203AB5E);
|
||||
ClearStdWindowAndFrameToTransparent(gTutorMoveAndElevatorWindowId, TRUE);
|
||||
RemoveWindow(gTutorMoveAndElevatorWindowId);
|
||||
}
|
||||
|
||||
static void sub_8139C2C(u16 a1, bool8 descending)
|
||||
@ -2051,57 +2051,110 @@ void UpdateFrontierManiac(u16 daysSince)
|
||||
{
|
||||
u16 *var = GetVarPointer(VAR_FRONTIER_MANIAC_FACILITY);
|
||||
*var += daysSince;
|
||||
*var %= 10;
|
||||
*var %= FRONTIER_MANIAC_FACILITY_COUNT;
|
||||
}
|
||||
|
||||
void sub_8139F20(void)
|
||||
void ShowFrontierManiacMessage(void)
|
||||
{
|
||||
static const u8 *const gUnknown_085B2C50[][3] =
|
||||
static const u8 *const sFrontierManiacMessages[][FRONTIER_MANIAC_MESSAGE_COUNT] =
|
||||
{
|
||||
{ BattleFrontier_Lounge2_Text_260971, BattleFrontier_Lounge2_Text_260A1E, BattleFrontier_Lounge2_Text_260AE7 },
|
||||
{ BattleFrontier_Lounge2_Text_2619AC, BattleFrontier_Lounge2_Text_261A91, BattleFrontier_Lounge2_Text_261B0C },
|
||||
{ BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95 },
|
||||
{ BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A },
|
||||
{ BattleFrontier_Lounge2_Text_260BC4, BattleFrontier_Lounge2_Text_260C6D, BattleFrontier_Lounge2_Text_260D3A },
|
||||
{ BattleFrontier_Lounge2_Text_260E1E, BattleFrontier_Lounge2_Text_260EC7, BattleFrontier_Lounge2_Text_260F74 },
|
||||
{ BattleFrontier_Lounge2_Text_2614E6, BattleFrontier_Lounge2_Text_261591, BattleFrontier_Lounge2_Text_26166F },
|
||||
{ BattleFrontier_Lounge2_Text_261282, BattleFrontier_Lounge2_Text_261329, BattleFrontier_Lounge2_Text_261403 },
|
||||
{ BattleFrontier_Lounge2_Text_261026, BattleFrontier_Lounge2_Text_2610CC, BattleFrontier_Lounge2_Text_261194 },
|
||||
{ BattleFrontier_Lounge2_Text_26174D, BattleFrontier_Lounge2_Text_2617F9, BattleFrontier_Lounge2_Text_2618C4 },
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_260971,
|
||||
BattleFrontier_Lounge2_Text_260A1E,
|
||||
BattleFrontier_Lounge2_Text_260AE7
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_2619AC,
|
||||
BattleFrontier_Lounge2_Text_261A91,
|
||||
BattleFrontier_Lounge2_Text_261B0C
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_261B95,
|
||||
BattleFrontier_Lounge2_Text_261B95,
|
||||
BattleFrontier_Lounge2_Text_261B95
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_LINK_MULTIS] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_261C1A,
|
||||
BattleFrontier_Lounge2_Text_261C1A,
|
||||
BattleFrontier_Lounge2_Text_261C1A
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_DOME] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_260BC4,
|
||||
BattleFrontier_Lounge2_Text_260C6D,
|
||||
BattleFrontier_Lounge2_Text_260D3A
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_FACTORY] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_260E1E,
|
||||
BattleFrontier_Lounge2_Text_260EC7,
|
||||
BattleFrontier_Lounge2_Text_260F74
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_PALACE] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_2614E6,
|
||||
BattleFrontier_Lounge2_Text_261591,
|
||||
BattleFrontier_Lounge2_Text_26166F
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_ARENA] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_261282,
|
||||
BattleFrontier_Lounge2_Text_261329,
|
||||
BattleFrontier_Lounge2_Text_261403
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_PIKE] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_261026,
|
||||
BattleFrontier_Lounge2_Text_2610CC,
|
||||
BattleFrontier_Lounge2_Text_261194
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_PYRAMID] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_26174D,
|
||||
BattleFrontier_Lounge2_Text_2617F9,
|
||||
BattleFrontier_Lounge2_Text_2618C4
|
||||
},
|
||||
};
|
||||
|
||||
static const u8 gUnknown_085B2CC8[][2] =
|
||||
static const u8 sFrontierManiacStreakThresholds[][FRONTIER_MANIAC_MESSAGE_COUNT - 1] =
|
||||
{
|
||||
{ 0x15, 0x38 },
|
||||
{ 0x15, 0x23 },
|
||||
{ 0xff, 0xff },
|
||||
{ 0xff, 0xff },
|
||||
{ 0x02, 0x04 },
|
||||
{ 0x07, 0x15 },
|
||||
{ 0x07, 0x15 },
|
||||
{ 0x0e, 0x1c },
|
||||
{ 0x0d, 0x70 },
|
||||
{ 0x07, 0x38 }
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] = { 21, 56 },
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] = { 21, 35 },
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] = { 255, 255 },
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_LINK_MULTIS] = { 255, 255 },
|
||||
[FRONTIER_MANIAC_BATTLE_DOME] = { 2, 4 },
|
||||
[FRONTIER_MANIAC_BATTLE_FACTORY] = { 7, 21 },
|
||||
[FRONTIER_MANIAC_BATTLE_PALACE] = { 7, 21 },
|
||||
[FRONTIER_MANIAC_BATTLE_ARENA] = { 14, 28 },
|
||||
[FRONTIER_MANIAC_BATTLE_PIKE] = { 13, 112 }, //BUG: 112 (0x70) is probably a mistake; the Pike Queen is battled twice well before that
|
||||
[FRONTIER_MANIAC_BATTLE_PYRAMID] = { 7, 56 }
|
||||
};
|
||||
|
||||
u8 i;
|
||||
u16 winStreak = 0;
|
||||
u16 var = VarGet(VAR_FRONTIER_MANIAC_FACILITY);
|
||||
u16 facility = VarGet(VAR_FRONTIER_MANIAC_FACILITY);
|
||||
|
||||
switch (var)
|
||||
switch (facility)
|
||||
{
|
||||
case 0 ... 3:
|
||||
if (gSaveBlock2Ptr->frontier.towerWinStreaks[var][FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.towerWinStreaks[var][FRONTIER_LVL_OPEN])
|
||||
case FRONTIER_MANIAC_BATTLE_TOWER_SINGLES:
|
||||
case FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES:
|
||||
case FRONTIER_MANIAC_BATTLE_TOWER_MULTIS:
|
||||
case FRONTIER_MANIAC_BATTLE_TOWER_LINK_MULTIS:
|
||||
if (gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN])
|
||||
{
|
||||
winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[var][FRONTIER_LVL_50];
|
||||
winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50];
|
||||
}
|
||||
else
|
||||
{
|
||||
winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[var][FRONTIER_LVL_OPEN];
|
||||
winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN];
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
case FRONTIER_MANIAC_BATTLE_DOME:
|
||||
if (gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
|
||||
{
|
||||
@ -2112,7 +2165,7 @@ void sub_8139F20(void)
|
||||
winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN];
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
case FRONTIER_MANIAC_BATTLE_FACTORY:
|
||||
if (gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
|
||||
{
|
||||
@ -2123,7 +2176,7 @@ void sub_8139F20(void)
|
||||
winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN];
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
case FRONTIER_MANIAC_BATTLE_PALACE:
|
||||
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
|
||||
{
|
||||
@ -2134,7 +2187,7 @@ void sub_8139F20(void)
|
||||
winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN];
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
case FRONTIER_MANIAC_BATTLE_ARENA:
|
||||
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN])
|
||||
{
|
||||
@ -2145,7 +2198,7 @@ void sub_8139F20(void)
|
||||
winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN];
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
case FRONTIER_MANIAC_BATTLE_PIKE:
|
||||
if (gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN])
|
||||
{
|
||||
@ -2156,7 +2209,7 @@ void sub_8139F20(void)
|
||||
winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN];
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
case FRONTIER_MANIAC_BATTLE_PYRAMID:
|
||||
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN])
|
||||
{
|
||||
@ -2169,16 +2222,16 @@ void sub_8139F20(void)
|
||||
break;
|
||||
}
|
||||
|
||||
for (i = 0; i < 2 && gUnknown_085B2CC8[var][i] < winStreak; i++);
|
||||
for (i = 0; i < FRONTIER_MANIAC_MESSAGE_COUNT - 1 && sFrontierManiacStreakThresholds[facility][i] < winStreak; i++);
|
||||
|
||||
ShowFieldMessage(gUnknown_085B2C50[var][i]);
|
||||
ShowFieldMessage(sFrontierManiacMessages[facility][i]);
|
||||
}
|
||||
|
||||
// gSpecialVar_0x8005 and 0x8006 here are used by ShakeScreenInElevator
|
||||
void sub_813A080(void)
|
||||
{
|
||||
static const u16 gUnknown_085B2CDC[] = {
|
||||
0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000
|
||||
static const u16 sBattleTowerStreakThresholds[] = {
|
||||
7, 14, 21, 28, 35, 49, 63, 77, 91, 0
|
||||
};
|
||||
|
||||
u8 i;
|
||||
@ -2192,9 +2245,9 @@ void sub_813A080(void)
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gUnknown_085B2CDC) - 1; i++)
|
||||
for (i = 0; i < ARRAY_COUNT(sBattleTowerStreakThresholds) - 1; i++)
|
||||
{
|
||||
if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode])
|
||||
if (sBattleTowerStreakThresholds[i] > gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode])
|
||||
{
|
||||
gSpecialVar_0x8005 = 4;
|
||||
gSpecialVar_0x8006 = i + 5;
|
||||
@ -2521,10 +2574,10 @@ static void sub_813A2DC(u8 taskId)
|
||||
ScriptContext2_Enable();
|
||||
gUnknown_0203AB68 = 0;
|
||||
gScrollableMultichoiceSprite = MAX_SPRITES;
|
||||
sub_813AA60(task->data[11], 0);
|
||||
FillFrontierExchangeCornerWindow(task->data[11], 0);
|
||||
ShowBattleFrontierTutorWindow(task->data[11], 0);
|
||||
gUnknown_0203AB64 = AllocZeroed(task->data[1] * 8);
|
||||
gUnknown_0203AB6A = 0;
|
||||
gFrontierExchangeCorner_NeverRead = 0;
|
||||
sub_813A42C();
|
||||
|
||||
for (unk1 = 0, i = 0; i < task->data[1]; i++)
|
||||
@ -2599,10 +2652,10 @@ static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list)
|
||||
ListMenuGetScrollAndRow(task->data[14], &selection, NULL);
|
||||
gUnknown_0203AB68 = selection;
|
||||
ListMenuGetCurrentItemArrayId(task->data[14], &selection);
|
||||
sub_813AC44(task->data[11], gUnknown_0203AB6A);
|
||||
sub_813AA60(task->data[11], selection);
|
||||
HideFrontierExchangeCornerItemIcon(task->data[11], gFrontierExchangeCorner_NeverRead);
|
||||
FillFrontierExchangeCornerWindow(task->data[11], selection);
|
||||
ShowBattleFrontierTutorMoveDescription(task->data[11], selection);
|
||||
gUnknown_0203AB6A = selection;
|
||||
gFrontierExchangeCorner_NeverRead = selection;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2646,7 +2699,7 @@ static void sub_813A570(u8 taskId)
|
||||
u16 array;
|
||||
struct Task *task = &gTasks[taskId];
|
||||
ListMenuGetCurrentItemArrayId(task->data[14], &array);
|
||||
sub_813AC44(task->data[11], array);
|
||||
HideFrontierExchangeCornerItemIcon(task->data[11], array);
|
||||
sub_813A738(taskId);
|
||||
DestroyListMenuTask(task->data[14], NULL, NULL);
|
||||
Free(gUnknown_0203AB64);
|
||||
@ -2769,34 +2822,34 @@ void sub_813A76C(void)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_813A7B8(void)
|
||||
void ShowNatureGirlMessage(void)
|
||||
{
|
||||
static const u8 *const gUnknown_085B3040[] = {
|
||||
BattleFrontier_Lounge5_Text_26468D,
|
||||
BattleFrontier_Lounge5_Text_2646E5,
|
||||
BattleFrontier_Lounge5_Text_264741,
|
||||
BattleFrontier_Lounge5_Text_2647A4,
|
||||
BattleFrontier_Lounge5_Text_2647FC,
|
||||
BattleFrontier_Lounge5_Text_264858,
|
||||
BattleFrontier_Lounge5_Text_2648BE,
|
||||
BattleFrontier_Lounge5_Text_264916,
|
||||
BattleFrontier_Lounge5_Text_264972,
|
||||
BattleFrontier_Lounge5_Text_2649D5,
|
||||
BattleFrontier_Lounge5_Text_264A3F,
|
||||
BattleFrontier_Lounge5_Text_264A9B,
|
||||
BattleFrontier_Lounge5_Text_264AF3,
|
||||
BattleFrontier_Lounge5_Text_264B5D,
|
||||
BattleFrontier_Lounge5_Text_2648BE,
|
||||
BattleFrontier_Lounge5_Text_264BC3,
|
||||
BattleFrontier_Lounge5_Text_264C36,
|
||||
BattleFrontier_Lounge5_Text_2648BE,
|
||||
BattleFrontier_Lounge5_Text_264C95,
|
||||
BattleFrontier_Lounge5_Text_264D01,
|
||||
BattleFrontier_Lounge5_Text_264D6B,
|
||||
BattleFrontier_Lounge5_Text_264DD7,
|
||||
BattleFrontier_Lounge5_Text_264E33,
|
||||
BattleFrontier_Lounge5_Text_264E8F,
|
||||
BattleFrontier_Lounge5_Text_2648BE,
|
||||
static const u8 *const sNatureGirlMessages[] = {
|
||||
[NATURE_HARDY] = BattleFrontier_Lounge5_Text_26468D,
|
||||
[NATURE_LONELY] = BattleFrontier_Lounge5_Text_2646E5,
|
||||
[NATURE_BRAVE] = BattleFrontier_Lounge5_Text_264741,
|
||||
[NATURE_ADAMANT] = BattleFrontier_Lounge5_Text_2647A4,
|
||||
[NATURE_NAUGHTY] = BattleFrontier_Lounge5_Text_2647FC,
|
||||
[NATURE_BOLD] = BattleFrontier_Lounge5_Text_264858,
|
||||
[NATURE_DOCILE] = BattleFrontier_Lounge5_Text_2648BE,
|
||||
[NATURE_RELAXED] = BattleFrontier_Lounge5_Text_264916,
|
||||
[NATURE_IMPISH] = BattleFrontier_Lounge5_Text_264972,
|
||||
[NATURE_LAX] = BattleFrontier_Lounge5_Text_2649D5,
|
||||
[NATURE_TIMID] = BattleFrontier_Lounge5_Text_264A3F,
|
||||
[NATURE_HASTY] = BattleFrontier_Lounge5_Text_264A9B,
|
||||
[NATURE_SERIOUS] = BattleFrontier_Lounge5_Text_264AF3,
|
||||
[NATURE_JOLLY] = BattleFrontier_Lounge5_Text_264B5D,
|
||||
[NATURE_NAIVE] = BattleFrontier_Lounge5_Text_2648BE,
|
||||
[NATURE_MODEST] = BattleFrontier_Lounge5_Text_264BC3,
|
||||
[NATURE_MILD] = BattleFrontier_Lounge5_Text_264C36,
|
||||
[NATURE_QUIET] = BattleFrontier_Lounge5_Text_2648BE,
|
||||
[NATURE_BASHFUL] = BattleFrontier_Lounge5_Text_264C95,
|
||||
[NATURE_RASH] = BattleFrontier_Lounge5_Text_264D01,
|
||||
[NATURE_CALM] = BattleFrontier_Lounge5_Text_264D6B,
|
||||
[NATURE_GENTLE] = BattleFrontier_Lounge5_Text_264DD7,
|
||||
[NATURE_SASSY] = BattleFrontier_Lounge5_Text_264E33,
|
||||
[NATURE_CAREFUL] = BattleFrontier_Lounge5_Text_264E8F,
|
||||
[NATURE_QUIRKY] = BattleFrontier_Lounge5_Text_2648BE,
|
||||
};
|
||||
|
||||
u8 nature;
|
||||
@ -2807,19 +2860,19 @@ void sub_813A7B8(void)
|
||||
}
|
||||
|
||||
nature = GetNature(&gPlayerParty[gSpecialVar_0x8004]);
|
||||
ShowFieldMessage(gUnknown_085B3040[nature]);
|
||||
ShowFieldMessage(sNatureGirlMessages[nature]);
|
||||
}
|
||||
|
||||
void UpdateFrontierGambler(u16 a0)
|
||||
void UpdateFrontierGambler(u16 daysSince)
|
||||
{
|
||||
u16 *var = GetVarPointer(VAR_FRONTIER_GAMBLER_FACILITY);
|
||||
*var += a0;
|
||||
*var %= 12;
|
||||
u16 *var = GetVarPointer(VAR_FRONTIER_GAMBLER_CHALLENGE);
|
||||
*var += daysSince;
|
||||
*var %= FRONTIER_GAMBLER_CHALLENGE_COUNT;
|
||||
}
|
||||
|
||||
void sub_813A820(void)
|
||||
void ShowFrontierGamblerLookingMessage(void)
|
||||
{
|
||||
static const u8 *const gUnknown_085B30A4[] =
|
||||
static const u8 *const sFrontierGamblerLookingMessages[] =
|
||||
{
|
||||
BattleFrontier_Lounge3_Text_262261,
|
||||
BattleFrontier_Lounge3_Text_26230D,
|
||||
@ -2835,14 +2888,14 @@ void sub_813A820(void)
|
||||
BattleFrontier_Lounge3_Text_2629BC,
|
||||
};
|
||||
|
||||
u16 var = VarGet(VAR_FRONTIER_GAMBLER_FACILITY);
|
||||
ShowFieldMessage(gUnknown_085B30A4[var]);
|
||||
VarSet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F, var);
|
||||
u16 challenge = VarGet(VAR_FRONTIER_GAMBLER_CHALLENGE);
|
||||
ShowFieldMessage(sFrontierGamblerLookingMessages[challenge]);
|
||||
VarSet(VAR_FRONTIER_GAMBLER_SET_CHALLENGE, challenge);
|
||||
}
|
||||
|
||||
void sub_813A854(void)
|
||||
void ShowFrontierGamblerGoMessage(void)
|
||||
{
|
||||
static const u8 *const gUnknown_085B30D4[] =
|
||||
static const u8 *const sFrontierGamblerGoMessages[] =
|
||||
{
|
||||
BattleFrontier_Lounge3_Text_262C04,
|
||||
BattleFrontier_Lounge3_Text_262C90,
|
||||
@ -2858,10 +2911,10 @@ void sub_813A854(void)
|
||||
BattleFrontier_Lounge3_Text_263211,
|
||||
};
|
||||
|
||||
ShowFieldMessage(gUnknown_085B30D4[VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F)]);
|
||||
ShowFieldMessage(sFrontierGamblerGoMessages[VarGet(VAR_FRONTIER_GAMBLER_SET_CHALLENGE)]);
|
||||
}
|
||||
|
||||
void sub_813A878(u8 a0)
|
||||
void FrontierGamblerSetWonOrLost(bool8 won)
|
||||
{
|
||||
static const u16 sFrontierChallenges[] =
|
||||
{
|
||||
@ -2880,37 +2933,37 @@ void sub_813A878(u8 a0)
|
||||
};
|
||||
|
||||
u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
u16 challenge = VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F);
|
||||
u16 challenge = VarGet(VAR_FRONTIER_GAMBLER_SET_CHALLENGE);
|
||||
u16 frontierFacilityId = VarGet(VAR_FRONTIER_FACILITY);
|
||||
|
||||
if (VarGet(VAR_FRONTIER_GAMBLER_PLACED_BET_F) == 1)
|
||||
if (VarGet(VAR_FRONTIER_GAMBLER_STATE) == FRONTIER_GAMBLER_PLACED_BET)
|
||||
{
|
||||
if (sFrontierChallenges[challenge] == FRONTIER_CHALLENGE(frontierFacilityId, battleMode))
|
||||
{
|
||||
if (a0 != 0)
|
||||
if (won != FALSE)
|
||||
{
|
||||
VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2);
|
||||
VarSet(VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WON);
|
||||
}
|
||||
else
|
||||
{
|
||||
VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 3);
|
||||
VarSet(VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_LOST);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_813A8FC(void)
|
||||
void UpdateBattlePointsWindow(void)
|
||||
{
|
||||
u8 string[32];
|
||||
u32 x;
|
||||
StringCopy(ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->frontier.battlePoints, STR_CONV_MODE_RIGHT_ALIGN, 4), gText_BP);
|
||||
x = GetStringRightAlignXOffset(1, string, 48);
|
||||
AddTextPrinterParameterized(gUnknown_0203AB6D, 1, string, x, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gBattlePointsWindowId, 1, string, x, 1, 0, NULL);
|
||||
}
|
||||
|
||||
void sub_813A958(void)
|
||||
void ShowBattlePointsWindow(void)
|
||||
{
|
||||
static const struct WindowTemplate gUnknown_085B311C = {
|
||||
static const struct WindowTemplate sBattlePoints_WindowTemplate = {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 1,
|
||||
@ -2920,16 +2973,16 @@ void sub_813A958(void)
|
||||
.baseBlock = 8,
|
||||
};
|
||||
|
||||
gUnknown_0203AB6D = AddWindow(&gUnknown_085B311C);
|
||||
SetStandardWindowBorderStyle(gUnknown_0203AB6D, 0);
|
||||
sub_813A8FC();
|
||||
CopyWindowToVram(gUnknown_0203AB6D, 2);
|
||||
gBattlePointsWindowId = AddWindow(&sBattlePoints_WindowTemplate);
|
||||
SetStandardWindowBorderStyle(gBattlePointsWindowId, 0);
|
||||
UpdateBattlePointsWindow();
|
||||
CopyWindowToVram(gBattlePointsWindowId, 2);
|
||||
}
|
||||
|
||||
void sub_813A988(void)
|
||||
void CloseBattlePointsWindow(void)
|
||||
{
|
||||
ClearStdWindowAndFrameToTransparent(gUnknown_0203AB6D, TRUE);
|
||||
RemoveWindow(gUnknown_0203AB6D);
|
||||
ClearStdWindowAndFrameToTransparent(gBattlePointsWindowId, TRUE);
|
||||
RemoveWindow(gBattlePointsWindowId);
|
||||
}
|
||||
|
||||
void TakeFrontierBattlePoints(void)
|
||||
@ -2961,9 +3014,9 @@ u16 GetFrontierBattlePoints(void)
|
||||
return gSaveBlock2Ptr->frontier.battlePoints;
|
||||
}
|
||||
|
||||
void sub_813AA18(void)
|
||||
void ShowFrontierExchangeCornerItemIconWindow(void)
|
||||
{
|
||||
static const struct WindowTemplate gUnknown_085B3124 = {
|
||||
static const struct WindowTemplate sFrontierExchangeCornerItemIcon_WindowTemplate = {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 9,
|
||||
@ -2973,18 +3026,18 @@ void sub_813AA18(void)
|
||||
.baseBlock = 20,
|
||||
};
|
||||
|
||||
gUnknown_0203AB6E = AddWindow(&gUnknown_085B3124);
|
||||
SetStandardWindowBorderStyle(gUnknown_0203AB6E, 0);
|
||||
CopyWindowToVram(gUnknown_0203AB6E, 2);
|
||||
gFrontierExchangeCornerItemIconWindowId = AddWindow(&sFrontierExchangeCornerItemIcon_WindowTemplate);
|
||||
SetStandardWindowBorderStyle(gFrontierExchangeCornerItemIconWindowId, 0);
|
||||
CopyWindowToVram(gFrontierExchangeCornerItemIconWindowId, 2);
|
||||
}
|
||||
|
||||
void sub_813AA44(void)
|
||||
void CloseFrontierExchangeCornerItemIconWindow(void)
|
||||
{
|
||||
ClearStdWindowAndFrameToTransparent(gUnknown_0203AB6E, TRUE);
|
||||
RemoveWindow(gUnknown_0203AB6E);
|
||||
ClearStdWindowAndFrameToTransparent(gFrontierExchangeCornerItemIconWindowId, TRUE);
|
||||
RemoveWindow(gFrontierExchangeCornerItemIconWindowId);
|
||||
}
|
||||
|
||||
static void sub_813AA60(u16 menu, u16 selection)
|
||||
static void FillFrontierExchangeCornerWindow(u16 menu, u16 selection)
|
||||
{
|
||||
#include "data/battle_frontier/battle_frontier_exchange_corner.h"
|
||||
|
||||
@ -2994,44 +3047,44 @@ static void sub_813AA60(u16 menu, u16 selection)
|
||||
switch (menu)
|
||||
{
|
||||
case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1:
|
||||
AddTextPrinterParameterized2(0, 1, sBFExchangeCorner_Decor1Descriptions[selection], 0, NULL, 2, 1, 3);
|
||||
if (sBFExchangeCorner_Decor1[selection] == 0xFFFF)
|
||||
AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, 2, 1, 3);
|
||||
if (sFrontierExchangeCorner_Decor1[selection] == 0xFFFF)
|
||||
{
|
||||
ScrollMulti_ShowItemIcon(sBFExchangeCorner_Decor1[selection]);
|
||||
ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor1[selection]);
|
||||
}
|
||||
else
|
||||
{
|
||||
FreeSpriteTilesByTag(5500);
|
||||
FreeSpritePaletteByTag(5500);
|
||||
gScrollableMultichoiceSprite = AddDecorationIconObject(sBFExchangeCorner_Decor1[selection], 33, 88, 0, 5500, 5500);
|
||||
gScrollableMultichoiceSprite = AddDecorationIconObject(sFrontierExchangeCorner_Decor1[selection], 33, 88, 0, 5500, 5500);
|
||||
}
|
||||
break;
|
||||
case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2:
|
||||
AddTextPrinterParameterized2(0, 1, sBFExchangeCorner_Decor2Descriptions[selection], 0, NULL, 2, 1, 3);
|
||||
if (sBFExchangeCorner_Decor2[selection] == 0xFFFF)
|
||||
AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, 2, 1, 3);
|
||||
if (sFrontierExchangeCorner_Decor2[selection] == 0xFFFF)
|
||||
{
|
||||
ScrollMulti_ShowItemIcon(sBFExchangeCorner_Decor2[selection]);
|
||||
ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor2[selection]);
|
||||
}
|
||||
else
|
||||
{
|
||||
FreeSpriteTilesByTag(5500);
|
||||
FreeSpritePaletteByTag(5500);
|
||||
gScrollableMultichoiceSprite = AddDecorationIconObject(sBFExchangeCorner_Decor2[selection], 33, 88, 0, 5500, 5500);
|
||||
gScrollableMultichoiceSprite = AddDecorationIconObject(sFrontierExchangeCorner_Decor2[selection], 33, 88, 0, 5500, 5500);
|
||||
}
|
||||
break;
|
||||
case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR:
|
||||
AddTextPrinterParameterized2(0, 1, sBFExchangeCorner_VitaminsDescriptions[selection], 0, NULL, 2, 1, 3);
|
||||
ScrollMulti_ShowItemIcon(sBFExchangeCorner_Vitamins[selection]);
|
||||
AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_VitaminsDescriptions[selection], 0, NULL, 2, 1, 3);
|
||||
ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Vitamins[selection]);
|
||||
break;
|
||||
case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR:
|
||||
AddTextPrinterParameterized2(0, 1, sBFExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, 2, 1, 3);
|
||||
ScrollMulti_ShowItemIcon(sBFExchangeCorner_HoldItems[selection]);
|
||||
AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, 2, 1, 3);
|
||||
ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_HoldItems[selection]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void ScrollMulti_ShowItemIcon(u16 item)
|
||||
static void ShowFrontierExchangeCornerItemIcon(u16 item)
|
||||
{
|
||||
FreeSpriteTilesByTag(5500);
|
||||
FreeSpritePaletteByTag(5500);
|
||||
@ -3045,8 +3098,7 @@ static void ScrollMulti_ShowItemIcon(u16 item)
|
||||
}
|
||||
}
|
||||
|
||||
// selection is unused
|
||||
static void sub_813AC44(u16 menu, u16 selection)
|
||||
static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused)
|
||||
{
|
||||
if (gScrollableMultichoiceSprite != MAX_SPRITES)
|
||||
{
|
||||
@ -3120,8 +3172,8 @@ static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection)
|
||||
{
|
||||
if (gSpecialVar_0x8006 == 0)
|
||||
{
|
||||
gUnknown_0203AB5E = AddWindow(&sBattleFrontierTutor_WindowTemplate);
|
||||
SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0);
|
||||
gTutorMoveAndElevatorWindowId = AddWindow(&sBattleFrontierTutor_WindowTemplate);
|
||||
SetStandardWindowBorderStyle(gTutorMoveAndElevatorWindowId, 0);
|
||||
}
|
||||
ShowBattleFrontierTutorMoveDescription(menu, selection);
|
||||
}
|
||||
@ -3161,22 +3213,22 @@ static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection)
|
||||
|
||||
if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_1 || menu == SCROLL_MULTI_BF_MOVE_TUTOR_2)
|
||||
{
|
||||
FillWindowPixelRect(gUnknown_0203AB5E, PIXEL_FILL(1), 0, 0, 96, 48);
|
||||
FillWindowPixelRect(gTutorMoveAndElevatorWindowId, PIXEL_FILL(1), 0, 0, 96, 48);
|
||||
if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_2)
|
||||
{
|
||||
AddTextPrinterParameterized(gUnknown_0203AB5E, 1, sBattleFrontier_TutorMoveDescriptions2[selection], 0, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions2[selection], 0, 1, 0, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddTextPrinterParameterized(gUnknown_0203AB5E, 1, sBattleFrontier_TutorMoveDescriptions1[selection], 0, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions1[selection], 0, 1, 0, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_813ADB8(void)
|
||||
{
|
||||
ClearStdWindowAndFrameToTransparent(gUnknown_0203AB5E, TRUE);
|
||||
RemoveWindow(gUnknown_0203AB5E);
|
||||
ClearStdWindowAndFrameToTransparent(gTutorMoveAndElevatorWindowId, TRUE);
|
||||
RemoveWindow(gTutorMoveAndElevatorWindowId);
|
||||
}
|
||||
|
||||
void sub_813ADD4(void)
|
||||
|
@ -794,15 +794,15 @@ static void sub_81A17A0(void)
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
sub_813A878(0);
|
||||
FrontierGamblerSetWonOrLost(FALSE);
|
||||
VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8);
|
||||
break;
|
||||
case 4:
|
||||
sub_813A878(0);
|
||||
FrontierGamblerSetWonOrLost(FALSE);
|
||||
VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8);
|
||||
break;
|
||||
case 3:
|
||||
sub_813A878(1);
|
||||
FrontierGamblerSetWonOrLost(TRUE);
|
||||
VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8);
|
||||
break;
|
||||
case 2:
|
||||
|
Loading…
Reference in New Issue
Block a user