Document Trainer Fan Club

This commit is contained in:
GriffinR
2019-11-17 17:34:11 -05:00
committed by huderlem
parent c455fcfa59
commit 5c5c1836bb
15 changed files with 476 additions and 396 deletions
@@ -61,7 +61,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03:: @ 8241C03
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
special CallBattleTowerFunc special CallBattleTowerFunc
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
special sub_813BF7C special Script_TryGainNewFanFromCounter
goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8 goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8
BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F
@@ -161,7 +161,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6:: @ 8241DF6
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
special CallBattleTowerFunc special CallBattleTowerFunc
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
special sub_813BF7C special Script_TryGainNewFanFromCounter
goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8 goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8
BattleFrontier_BattleTowerBattleRoom_EventScript_241E22:: @ 8241E22 BattleFrontier_BattleTowerBattleRoom_EventScript_241E22:: @ 8241E22
@@ -122,7 +122,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E:: @ 824907E
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
special CallBattleTowerFunc special CallBattleTowerFunc
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
special sub_813BF7C special Script_TryGainNewFanFromCounter
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8 goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8
BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA
@@ -239,7 +239,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2492AF:: @ 82492AF
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
special CallBattleTowerFunc special CallBattleTowerFunc
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
special sub_813BF7C special Script_TryGainNewFanFromCounter
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8 goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8
BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB
@@ -55,7 +55,7 @@ EverGrandeCity_DrakesRoom_EventScript_PostBattleSpeech:: @ 822871A
EverGrandeCity_DrakesRoom_EventScript_Defeated:: @ 8228724 EverGrandeCity_DrakesRoom_EventScript_Defeated:: @ 8228724
setvar VAR_0x8004, 0 setvar VAR_0x8004, 0
special sub_813BF7C special Script_TryGainNewFanFromCounter
setflag FLAG_DEFEATED_ELITE_4_DRAKE setflag FLAG_DEFEATED_ELITE_4_DRAKE
call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles
msgbox EverGrandeCity_DrakesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT msgbox EverGrandeCity_DrakesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT
@@ -24,7 +24,7 @@
"movement_range_y": 0, "movement_range_y": 0,
"trainer_type": "0", "trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0", "trainer_sight_or_berry_tree_id": "0",
"script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E", "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Lass",
"flag": "0" "flag": "0"
}, },
{ {
@@ -37,7 +37,7 @@
"movement_range_y": 0, "movement_range_y": 0,
"trainer_type": "0", "trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0", "trainer_sight_or_berry_tree_id": "0",
"script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17", "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Man",
"flag": "0" "flag": "0"
}, },
{ {
@@ -50,7 +50,7 @@
"movement_range_y": 0, "movement_range_y": 0,
"trainer_type": "0", "trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0", "trainer_sight_or_berry_tree_id": "0",
"script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05", "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanM",
"flag": "0" "flag": "0"
}, },
{ {
@@ -63,7 +63,7 @@
"movement_range_y": 0, "movement_range_y": 0,
"trainer_type": "0", "trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0", "trainer_sight_or_berry_tree_id": "0",
"script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C", "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirl",
"flag": "0" "flag": "0"
}, },
{ {
@@ -76,7 +76,7 @@
"movement_range_y": 0, "movement_range_y": 0,
"trainer_type": "0", "trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0", "trainer_sight_or_berry_tree_id": "0",
"script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3", "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoy",
"flag": "FLAG_HIDE_FANCLUB_LITTLE_BOY" "flag": "FLAG_HIDE_FANCLUB_LITTLE_BOY"
}, },
{ {
@@ -89,7 +89,7 @@
"movement_range_y": 0, "movement_range_y": 0,
"trainer_type": "0", "trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0", "trainer_sight_or_berry_tree_id": "0",
"script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55", "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Boy",
"flag": "FLAG_HIDE_FANCLUB_BOY" "flag": "FLAG_HIDE_FANCLUB_BOY"
}, },
{ {
@@ -102,7 +102,7 @@
"movement_range_y": 0, "movement_range_y": 0,
"trainer_type": "0", "trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0", "trainer_sight_or_berry_tree_id": "0",
"script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7", "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Woman",
"flag": "FLAG_HIDE_FANCLUB_LADY" "flag": "FLAG_HIDE_FANCLUB_LADY"
}, },
{ {
@@ -115,7 +115,7 @@
"movement_range_y": 0, "movement_range_y": 0,
"trainer_type": "0", "trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0", "trainer_sight_or_berry_tree_id": "0",
"script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19", "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertF",
"flag": "FLAG_HIDE_FANCLUB_OLD_LADY" "flag": "FLAG_HIDE_FANCLUB_OLD_LADY"
}, },
{ {
@@ -3,32 +3,34 @@ LilycoveCity_PokemonTrainerFanClub_MapScripts:: @ 821C785
map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonTrainerFanClub_OnTransition map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonTrainerFanClub_OnTransition
.byte 0 .byte 0
@ See field_specials.c for a breakdown of the Fan Club and its variables
LilycoveCity_PokemonTrainerFanClub_OnFrame: @ 821C790 LilycoveCity_PokemonTrainerFanClub_OnFrame: @ 821C790
map_script_2 VAR_LILYCOVE_FAN_CLUB_STATE, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A map_script_2 VAR_LILYCOVE_FAN_CLUB_STATE, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_MeetFirstFans
.2byte 0 .2byte 0
LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A LilycoveCity_PokemonTrainerFanClub_EventScript_MeetFirstFans:: @ 821C79A
lockall lockall
applymovement 1, Common_Movement_WalkInPlaceFastestDown applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0 waitmovement 0
msgbox LilycoveCity_PokemonTrainerFanClub_Text_OhWowItsPlayer, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_OhWowItsPlayer, MSGBOX_DEFAULT
applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlWatchPlayer
applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5 applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_FanApproachPlayer
waitmovement 0 waitmovement 0
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0 waitmovement 0
msgbox LilycoveCity_PokemonTrainerFanClub_Text_HeardAboutYouImYourFan, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_HeardAboutYouImYourFan, MSGBOX_DEFAULT
applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C804 applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlMoveCloserToPlayer
waitmovement 0 waitmovement 0
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0 waitmovement 0
applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C807 applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlHideFromPlayer
waitmovement 0 waitmovement 0
setvar VAR_LILYCOVE_FAN_CLUB_STATE, 2 setvar VAR_LILYCOVE_FAN_CLUB_STATE, 2
releaseall releaseall
end end
LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5: @ 821C7F5 LilycoveCity_PokemonTrainerFanClub_Movement_FanApproachPlayer: @ 821C7F5
delay_8 delay_8
walk_in_place_fastest_down walk_in_place_fastest_down
walk_down walk_down
@@ -38,7 +40,7 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5: @ 821C7F5
walk_left walk_left
step_end step_end
LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD: @ 821C7FD LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlWatchPlayer: @ 821C7FD
walk_fast_left walk_fast_left
walk_fast_left walk_fast_left
walk_fast_down walk_fast_down
@@ -47,12 +49,12 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD: @ 821C7FD
walk_fast_down walk_fast_down
step_end step_end
LilycoveCity_PokemonTrainerFanClub_Movement_21C804: @ 821C804 LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlMoveCloserToPlayer: @ 821C804
walk_down walk_down
walk_in_place_fastest_right walk_in_place_fastest_right
step_end step_end
LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807 LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlHideFromPlayer: @ 821C807
jump_in_place_right jump_in_place_right
walk_fast_up walk_fast_up
walk_fast_up walk_fast_up
@@ -61,437 +63,439 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807
step_end step_end
LilycoveCity_PokemonTrainerFanClub_OnTransition: @ 821C80D LilycoveCity_PokemonTrainerFanClub_OnTransition: @ 821C80D
call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA call LilycoveCity_PokemonTrainerFanClub_EventScript_HideOrShowInterviewer
compare VAR_LILYCOVE_FAN_CLUB_STATE, 1 compare VAR_LILYCOVE_FAN_CLUB_STATE, 1
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_SetFanMemberPositionsForFirstFanMeeting
compare VAR_LILYCOVE_FAN_CLUB_STATE, 2 compare VAR_LILYCOVE_FAN_CLUB_STATE, 2
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C829 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_UpdateFanMemberPositions
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21C829:: @ 821C829 LilycoveCity_PokemonTrainerFanClub_EventScript_UpdateFanMemberPositions:: @ 821C829
special UpdateMovedLilycoveFanClubMembers special TryLoseFansFromPlayTime
call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5 call LilycoveCity_PokemonTrainerFanClub_EventScript_CheckSetUpTVShow
setvar VAR_0x8004, 8 setvar VAR_0x8004, FANCLUB_MEMBER1
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 0 compare VAR_RESULT, FALSE
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8 call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember1ToFarTable
setvar VAR_0x8004, 9 setvar VAR_0x8004, FANCLUB_MEMBER2
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 0 compare VAR_RESULT, FALSE
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0 call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable
setvar VAR_0x8004, 10 setvar VAR_0x8004, FANCLUB_MEMBER3
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 0 compare VAR_RESULT, FALSE
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8 call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember3ToFarTable
setvar VAR_0x8004, 11 setvar VAR_0x8004, FANCLUB_MEMBER4
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 0 compare VAR_RESULT, FALSE
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0 call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable
setvar VAR_0x8004, 12 setvar VAR_0x8004, FANCLUB_MEMBER5
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 0 compare VAR_RESULT, FALSE
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8 call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable
setvar VAR_0x8004, 13 setvar VAR_0x8004, FANCLUB_MEMBER6
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 0 compare VAR_RESULT, FALSE
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0 call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember6ToFarTable
setvar VAR_0x8004, 14 setvar VAR_0x8004, FANCLUB_MEMBER7
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 0 compare VAR_RESULT, FALSE
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8 call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable
setvar VAR_0x8004, 15 setvar VAR_0x8004, FANCLUB_MEMBER8
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 0 compare VAR_RESULT, FALSE
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0 call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA:: @ 821C8DA LilycoveCity_PokemonTrainerFanClub_EventScript_HideOrShowInterviewer:: @ 821C8DA
specialvar VAR_RESULT, sub_80EE7C0 specialvar VAR_RESULT, ShouldHideFanClubInterviewer
compare VAR_RESULT, 1 compare VAR_RESULT, TRUE
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_HideInterviewer
clearflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER clearflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER
clearflag FLAG_FAN_CLUB_STRENGTH_SHARED clearflag FLAG_FAN_CLUB_STRENGTH_SHARED
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1:: @ 821C8F1 LilycoveCity_PokemonTrainerFanClub_EventScript_HideInterviewer:: @ 821C8F1
setflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER setflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5:: @ 821C8F5 @ Set up the fan club TV show, if the player has at least 5 fans in the club
setvar VAR_0x8005, NUM_TRAINER_CLUB_MEMBERS @ Rather than counting up, 1 is subtracted from the total for each member not a fan of the players
setvar VAR_0x8004, 8 LilycoveCity_PokemonTrainerFanClub_EventScript_CheckSetUpTVShow:: @ 821C8F5
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember setvar VAR_0x8005, NUM_TRAINER_FAN_CLUB_MEMBERS
compare VAR_RESULT, 0 setvar VAR_0x8004, FANCLUB_MEMBER1
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
setvar VAR_0x8004, 9 compare VAR_RESULT, FALSE
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
compare VAR_RESULT, 0 setvar VAR_0x8004, FANCLUB_MEMBER2
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
setvar VAR_0x8004, 10 compare VAR_RESULT, FALSE
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
compare VAR_RESULT, 0 setvar VAR_0x8004, FANCLUB_MEMBER3
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
setvar VAR_0x8004, 11 compare VAR_RESULT, FALSE
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
compare VAR_RESULT, 0 setvar VAR_0x8004, FANCLUB_MEMBER4
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
setvar VAR_0x8004, 12 compare VAR_RESULT, FALSE
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
compare VAR_RESULT, 0 setvar VAR_0x8004, FANCLUB_MEMBER5
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
setvar VAR_0x8004, 13 compare VAR_RESULT, FALSE
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
compare VAR_RESULT, 0 setvar VAR_0x8004, FANCLUB_MEMBER6
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
setvar VAR_0x8004, 14 compare VAR_RESULT, FALSE
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
compare VAR_RESULT, 0 setvar VAR_0x8004, FANCLUB_MEMBER7
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
setvar VAR_0x8004, 15 compare VAR_RESULT, FALSE
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
compare VAR_RESULT, 0 setvar VAR_0x8004, FANCLUB_MEMBER8
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, FALSE
call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
compare VAR_0x8005, 5 compare VAR_0x8005, 5
goto_if_ge LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4 goto_if_ge LilycoveCity_PokemonTrainerFanClub_EventScript_TrySetUpTVShow
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE:: @ 821C9AE LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan:: @ 821C9AE
subvar VAR_0x8005, 1 subvar VAR_0x8005, 1
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4:: @ 821C9B4 LilycoveCity_PokemonTrainerFanClub_EventScript_TrySetUpTVShow:: @ 821C9B4
special sub_80EE72C special TrySetUpTrainerFanClubSpecial
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8:: @ 821C9B8 LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember1ToFarTable:: @ 821C9B8
setobjectxyperm 1, 7, 5 setobjectxyperm 1, 7, 5
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0:: @ 821C9C0 LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable:: @ 821C9C0
setobjectxyperm 3, 3, 4 setobjectxyperm 3, 3, 4
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8:: @ 821C9C8 LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember3ToFarTable:: @ 821C9C8
setobjectxyperm 4, 7, 2 setobjectxyperm 4, 7, 2
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0:: @ 821C9D0 LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable:: @ 821C9D0
setobjectxyperm 5, 5, 5 setobjectxyperm 5, 5, 5
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8:: @ 821C9D8 LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable:: @ 821C9D8
setobjectxyperm 6, 5, 2 setobjectxyperm 6, 5, 2
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0:: @ 821C9E0 LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember6ToFarTable:: @ 821C9E0
setobjectxyperm 2, 8, 4 setobjectxyperm 2, 8, 4
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8:: @ 821C9E8 LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable:: @ 821C9E8
setobjectxyperm 7, 3, 3 setobjectxyperm 7, 3, 3
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0:: @ 821C9F0 LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable:: @ 821C9F0
setobjectxyperm 8, 8, 3 setobjectxyperm 8, 8, 3
return return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8:: @ 821C9F8 LilycoveCity_PokemonTrainerFanClub_EventScript_SetFanMemberPositionsForFirstFanMeeting:: @ 821C9F8
call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5 call LilycoveCity_PokemonTrainerFanClub_EventScript_CheckSetUpTVShow
call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0 call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable
call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0 call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable
call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8 call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable
call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8 call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable
call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0 call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17 LilycoveCity_PokemonTrainerFanClub_EventScript_Man:: @ 821CA17
lock lock
faceplayer faceplayer
setvar VAR_0x8004, 13 setvar VAR_0x8004, FANCLUB_MEMBER6
special BufferStreakTrainerText special BufferFanClubTrainerName
compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayerNotChampion
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 1 compare VAR_RESULT, TRUE
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayersFan
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 7 compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56:: @ 821CA56 LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayersFan:: @ 821CA56
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1 compare VAR_RESULT, 1
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70:: @ 821CA70 LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyFan:: @ 821CA70
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D0BB, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D0BB, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A:: @ 821CA7A LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyNonFan:: @ 821CA7A
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D1B5, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D1B5, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84:: @ 821CA84 LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayerNotChampion:: @ 821CA84
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D20C, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D20C, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E LilycoveCity_PokemonTrainerFanClub_EventScript_Lass:: @ 821CA8E
lock lock
faceplayer faceplayer
setvar VAR_0x8004, 8 setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferStreakTrainerText special BufferFanClubTrainerName
compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayerNotChampion
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 1 compare VAR_RESULT, TRUE
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayersFan
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 7 compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD:: @ 821CACD LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayersFan:: @ 821CACD
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1 compare VAR_RESULT, 1
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7:: @ 821CAE7 LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyFan:: @ 821CAE7
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2CE, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2CE, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1:: @ 821CAF1 LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyNonFan:: @ 821CAF1
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D377, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D377, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB:: @ 821CAFB LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayerNotChampion:: @ 821CAFB
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D3EE, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D3EE, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05 LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanM:: @ 821CB05
lock lock
faceplayer faceplayer
setvar VAR_0x8004, 9 setvar VAR_0x8004, FANCLUB_MEMBER2
special BufferStreakTrainerText special BufferFanClubTrainerName
compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayerNotChampion
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 1 compare VAR_RESULT, TRUE
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayersFan
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 7 compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44:: @ 821CB44 LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayersFan:: @ 821CB44
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1 compare VAR_RESULT, 1
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E:: @ 821CB5E LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyFan:: @ 821CB5E
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D4A3, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D4A3, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68:: @ 821CB68 LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyNonFan:: @ 821CB68
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D5DC, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D5DC, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72:: @ 821CB72 LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayerNotChampion:: @ 821CB72
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D69C, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D69C, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirl:: @ 821CB7C
lock lock
faceplayer faceplayer
setvar VAR_0x8004, 10 setvar VAR_0x8004, FANCLUB_MEMBER3
special BufferStreakTrainerText special BufferFanClubTrainerName
compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayerNotChampion
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 1 compare VAR_RESULT, TRUE
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayersFan
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 7 compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB:: @ 821CBBB LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayersFan:: @ 821CBBB
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1 compare VAR_RESULT, 1
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5:: @ 821CBD5 LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyFan:: @ 821CBD5
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D79B, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D79B, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF:: @ 821CBDF LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyNonFan:: @ 821CBDF
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D857, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D857, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9:: @ 821CBE9 LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayerNotChampion:: @ 821CBE9
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D8C4, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D8C4, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3 LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoy:: @ 821CBF3
lock lock
faceplayer faceplayer
setvar VAR_0x8004, 11 setvar VAR_0x8004, FANCLUB_MEMBER4
special BufferStreakTrainerText special BufferFanClubTrainerName
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 1 compare VAR_RESULT, TRUE
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyPlayersFan
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 7 compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27:: @ 821CC27 LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyPlayersFan:: @ 821CC27
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1 compare VAR_RESULT, 1
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41:: @ 821CC41 LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyFan:: @ 821CC41
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D96A, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D96A, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B:: @ 821CC4B LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyNonFan:: @ 821CC4B
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA0D, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA0D, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55 LilycoveCity_PokemonTrainerFanClub_EventScript_Boy:: @ 821CC55
lock lock
faceplayer faceplayer
setvar VAR_0x8004, 12 setvar VAR_0x8004, FANCLUB_MEMBER5
special BufferStreakTrainerText special BufferFanClubTrainerName
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 1 compare VAR_RESULT, TRUE
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_BoyPlayersFan
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 7 compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89:: @ 821CC89 LilycoveCity_PokemonTrainerFanClub_EventScript_BoyPlayersFan:: @ 821CC89
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1 compare VAR_RESULT, 1
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3:: @ 821CCA3 LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyFan:: @ 821CCA3
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DAF5, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DAF5, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD:: @ 821CCAD LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyNonFan:: @ 821CCAD
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DBFB, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DBFB, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7 LilycoveCity_PokemonTrainerFanClub_EventScript_Woman:: @ 821CCB7
lock lock
faceplayer faceplayer
setvar VAR_0x8004, 14 setvar VAR_0x8004, FANCLUB_MEMBER7
special BufferStreakTrainerText special BufferFanClubTrainerName
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, 1 compare VAR_RESULT, TRUE
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_WomanPlayersFan
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 7 compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB:: @ 821CCEB LilycoveCity_PokemonTrainerFanClub_EventScript_WomanPlayersFan:: @ 821CCEB
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1 compare VAR_RESULT, 1
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05:: @ 821CD05 LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyFan:: @ 821CD05
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DCD6, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DCD6, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F:: @ 821CD0F LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyNonFan:: @ 821CD0F
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DDCE, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DDCE, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19 LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertF:: @ 821CD19
lock lock
faceplayer faceplayer
setvar VAR_0x8004, 15 setvar VAR_0x8004, FANCLUB_MEMBER8
special BufferStreakTrainerText special BufferFanClubTrainerName
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
compare VAR_RESULT, TRUE compare VAR_RESULT, TRUE
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFPlayersFan
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 7 compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D:: @ 821CD4D LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFPlayersFan:: @ 821CD4D
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1 compare VAR_RESULT, 1
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_OnlyFan goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouImpressive, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouImpressive, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_OnlyFan:: @ 821CD67 LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyFan:: @ 821CD67
msgbox LilycoveCity_PokemonTrainerFanClub_Text_OnlyIRecognizeYourTrueWorth, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_OnlyIRecognizeYourTrueWorth, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71:: @ 821CD71 LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyNonFan:: @ 821CD71
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DF51, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DF51, MSGBOX_DEFAULT
release release
end end
@@ -509,8 +513,8 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_Interview:: @ 821CD90
compare VAR_RESULT, TRUE compare VAR_RESULT, TRUE
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed2 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed2
copyvar VAR_0x800A, VAR_0x8006 copyvar VAR_0x800A, VAR_0x8006
setvar VAR_0x8004, 8 setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferStreakTrainerText special BufferFanClubTrainerName
msgbox LilycoveCity_PokemonTrainerFanClub_Text_WhatsYourOpinionOfTrainer, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_WhatsYourOpinionOfTrainer, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_FAN_QUESTION setvar VAR_0x8004, EASY_CHAT_TYPE_FAN_QUESTION
copyvar VAR_0x8005, VAR_0x800A copyvar VAR_0x8005, VAR_0x800A
@@ -529,8 +533,8 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_SubmitOpinion:: @ 821CDE0
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion:: @ 821CDEE LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion:: @ 821CDEE
setvar VAR_0x8004, 8 setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferStreakTrainerText special BufferFanClubTrainerName
msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer, MSGBOX_YESNO msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer, MSGBOX_YESNO
compare VAR_RESULT, YES compare VAR_RESULT, YES
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer
@@ -539,8 +543,8 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion:: @ 821CDEE
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_AskForOpinion:: @ 821CE15 LilycoveCity_PokemonTrainerFanClub_EventScript_AskForOpinion:: @ 821CE15
setvar VAR_0x8004, 8 setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferStreakTrainerText special BufferFanClubTrainerName
msgbox LilycoveCity_PokemonTrainerFanClub_Text_WhatsYourOpinionOfTrainer2, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_WhatsYourOpinionOfTrainer2, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_FAN_QUESTION setvar VAR_0x8004, EASY_CHAT_TYPE_FAN_QUESTION
copyvar VAR_0x8005, VAR_0x800A copyvar VAR_0x8005, VAR_0x800A
@@ -554,19 +558,19 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_AskForOpinion:: @ 821CE15
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_RateTrainer:: @ 821CE4D LilycoveCity_PokemonTrainerFanClub_EventScript_RateTrainer:: @ 821CE4D
setvar VAR_0x8004, 8 setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferStreakTrainerText special BufferFanClubTrainerName
message LilycoveCity_PokemonTrainerFanClub_Text_HowStrongRateTrainer message LilycoveCity_PokemonTrainerFanClub_Text_HowStrongRateTrainer
waitmessage waitmessage
setvar VAR_0x8004, SCROLL_MULTI_POKEMON_FAN_CLUB_RATER setvar VAR_0x8004, SCROLL_MULTI_POKEMON_FAN_CLUB_RATER
special ShowScrollableMultichoice special ShowScrollableMultichoice
waitstate waitstate
setvar VAR_0x8004, 8 setvar VAR_0x8004, FANCLUB_MEMBER1
switch VAR_RESULT switch VAR_RESULT
case 11, LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer case 11, LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer
case MULTI_B_PRESSED, LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer case MULTI_B_PRESSED, LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer
setvar VAR_0x8004, 8 setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferStreakTrainerText special BufferFanClubTrainerName
copyvar VAR_0x8006, VAR_0x800A copyvar VAR_0x8006, VAR_0x800A
copyvar VAR_0x8005, VAR_RESULT copyvar VAR_0x8005, VAR_RESULT
special PutFanClubSpecialOnTheAir special PutFanClubSpecialOnTheAir
@@ -574,8 +578,8 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_RateTrainer:: @ 821CE4D
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer:: @ 821CE9F LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer:: @ 821CE9F
setvar VAR_0x8004, 8 setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferStreakTrainerText special BufferFanClubTrainerName
msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer2, MSGBOX_YESNO msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer2, MSGBOX_YESNO
compare VAR_RESULT, YES compare VAR_RESULT, YES
goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer
@@ -584,23 +588,23 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer:: @ 821CE9F
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer:: @ 821CEC6 LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer:: @ 821CEC6
setvar VAR_0x8004, 8 setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferStreakTrainerText special BufferFanClubTrainerName
msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouShouldMeetTrainer, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouShouldMeetTrainer, MSGBOX_DEFAULT
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_CompleteInterview:: @ 821CED8 LilycoveCity_PokemonTrainerFanClub_EventScript_CompleteInterview:: @ 821CED8
setvar VAR_0x8004, 8 setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferStreakTrainerText special BufferFanClubTrainerName
msgbox LilycoveCity_PokemonTrainerFanClub_Text_ThankYouIllShareThisInfo, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_Text_ThankYouIllShareThisInfo, MSGBOX_DEFAULT
setflag FLAG_FAN_CLUB_STRENGTH_SHARED setflag FLAG_FAN_CLUB_STRENGTH_SHARED
release release
end end
LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed:: @ 821CEED LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed:: @ 821CEED
setvar VAR_0x8004, 8 setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferStreakTrainerText special BufferFanClubTrainerName
msgbox LilycoveCity_PokemonTrainerFanClub_HopeYouCatchTVSpecial, MSGBOX_DEFAULT msgbox LilycoveCity_PokemonTrainerFanClub_HopeYouCatchTVSpecial, MSGBOX_DEFAULT
release release
end end
+9 -9
View File
@@ -174,14 +174,14 @@ gSpecials:: @ 81DBA64
def_special GetFirstFreePokeblockSlot def_special GetFirstFreePokeblockSlot
def_special DoBerryBlending def_special DoBerryBlending
def_special PlayRoulette def_special PlayRoulette
def_special ShouldMoveLilycoveFanClubMember def_special IsFanClubMemberFanOfPlayer
def_special GetNumMovedLilycoveFanClubMembers def_special GetNumFansOfPlayerInTrainerFanClub
def_special BufferStreakTrainerText def_special BufferFanClubTrainerName
def_special sub_813BA30 def_special TryLoseFansFromPlayTimeAfterLinkBattle
def_special UpdateMovedLilycoveFanClubMembers def_special TryLoseFansFromPlayTime
def_special sub_813BF60 def_special SetPlayerGotFirstFans
def_special UpdateTrainerFanClubGameClear def_special UpdateTrainerFanClubGameClear
def_special sub_813BF7C def_special Script_TryGainNewFanFromCounter
def_special RockSmashWildEncounter def_special RockSmashWildEncounter
def_special GabbyAndTyGetBattleNum def_special GabbyAndTyGetBattleNum
def_special GabbyAndTyAfterInterview def_special GabbyAndTyAfterInterview
@@ -354,8 +354,8 @@ gSpecials:: @ 81DBA64
def_special SetChampionSaveWarp def_special SetChampionSaveWarp
def_special TryPutTreasureInvestigatorsOnAir def_special TryPutTreasureInvestigatorsOnAir
def_special TryPutLotteryWinnerReportOnAir def_special TryPutLotteryWinnerReportOnAir
def_special sub_80EE72C def_special TrySetUpTrainerFanClubSpecial
def_special sub_80EE7C0 def_special ShouldHideFanClubInterviewer
def_special ShowGlassWorkshopMenu def_special ShowGlassWorkshopMenu
def_special PutFanClubSpecialOnTheAir def_special PutFanClubSpecialOnTheAir
def_special IncrementDailyPlantedBerries def_special IncrementDailyPlantedBerries
+12 -2
View File
@@ -62,7 +62,17 @@
#define DEPT_STORE_FLOORNUM_11F 14 #define DEPT_STORE_FLOORNUM_11F 14
#define DEPT_STORE_FLOORNUM_ROOFTOP 15 #define DEPT_STORE_FLOORNUM_ROOFTOP 15
// Pokemon Trainer Fan Club // Lilycove Pokemon Trainer Fan Club
#define NUM_TRAINER_CLUB_MEMBERS 8 #define NUM_TRAINER_FAN_CLUB_MEMBERS 8
#define FANCLUB_GOT_FIRST_FANS 7
#define FANCLUB_MEMBER1 8
#define FANCLUB_MEMBER2 9
#define FANCLUB_MEMBER3 10
#define FANCLUB_MEMBER4 11
#define FANCLUB_MEMBER5 12
#define FANCLUB_MEMBER6 13
#define FANCLUB_MEMBER7 14
#define FANCLUB_MEMBER8 15
#endif // GUARD_CONSTANTS_FIELD_SPECIALS_H #endif // GUARD_CONSTANTS_FIELD_SPECIALS_H
+2 -2
View File
@@ -79,8 +79,8 @@
#define VAR_ALTERING_CAVE_WILD_SET 0x403E #define VAR_ALTERING_CAVE_WILD_SET 0x403E
#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing #define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing
#define VAR_DAYS 0x4040 #define VAR_DAYS 0x4040
#define VAR_FANCLUB_UNKNOWN_1 0x4041 #define VAR_FANCLUB_FAN_COUNTER 0x4041 // First 7 bits are a counter for adding new fans, bit 8 is a flag set after first gaining fans, and bits 9-16 are flags set for each of the 8 fans when they like the player
#define VAR_FANCLUB_UNKNOWN_2 0x4042 #define VAR_FANCLUB_LOSE_FAN_TIMER 0x4042
#define VAR_DEPT_STORE_FLOOR 0x4043 #define VAR_DEPT_STORE_FLOOR 0x4043
#define VAR_TRICK_HOUSE_LEVEL 0x4044 #define VAR_TRICK_HOUSE_LEVEL 0x4044
#define VAR_POKELOT_PRIZE_ITEM 0x4045 #define VAR_POKELOT_PRIZE_ITEM 0x4045
+2 -2
View File
@@ -8,7 +8,7 @@ u8 GetLeadMonIndex(void);
u8 IsDestinationBoxFull(void); u8 IsDestinationBoxFull(void);
u16 GetPCBoxToSendMon(void); u16 GetPCBoxToSendMon(void);
bool8 InMultiBattleRoom(void); bool8 InMultiBattleRoom(void);
void sub_813BF10(void); void UpdateTrainerFansAfterLinkBattle(void);
void IncrementBirthIslandRockStepCount(void); void IncrementBirthIslandRockStepCount(void);
bool8 UnusualWeatherHasExpired(void); bool8 UnusualWeatherHasExpired(void);
bool8 ShouldDoBrailleRegicePuzzle(void); bool8 ShouldDoBrailleRegicePuzzle(void);
@@ -21,7 +21,7 @@ bool32 CountSSTidalStep(u16 delta);
u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y); u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y);
void ShowScrollableMultichoice(void); void ShowScrollableMultichoice(void);
void FrontierGamblerSetWonOrLost(bool8 won); void FrontierGamblerSetWonOrLost(bool8 won);
u8 sub_813BADC(u8 a0); u8 TryGainNewFanFromCounter(u8 incrementId);
bool8 InPokemonCenter(void); bool8 InPokemonCenter(void);
void SetShoalItemFlag(u16 unused); void SetShoalItemFlag(u16 unused);
void UpdateFrontierManiac(u16 daysSince); void UpdateFrontierManiac(u16 daysSince);
+1 -1
View File
@@ -14,7 +14,7 @@ void DoTVShow(void);
void DoTVShowInSearchOfTrainers(void); void DoTVShowInSearchOfTrainers(void);
void TryPutTreasureInvestigatorsOnAir(void); void TryPutTreasureInvestigatorsOnAir(void);
void TryPutLotteryWinnerReportOnAir(void); void TryPutLotteryWinnerReportOnAir(void);
void sub_80EE72C(void); void TryPutTrainerFanClubOnAir(void);
void IncrementDailyPlantedBerries(void); void IncrementDailyPlantedBerries(void);
void IncrementDailyPickedBerries(void); void IncrementDailyPickedBerries(void);
void IncrementDailyBattlePoints(u16 delta); void IncrementDailyBattlePoints(u16 delta);
+1 -1
View File
@@ -970,7 +970,7 @@ void sub_80B360C(void)
Overworld_ResetMapMusic(); Overworld_ResetMapMusic();
LoadPlayerParty(); LoadPlayerParty();
SavePlayerBag(); SavePlayerBag();
sub_813BF10(); UpdateTrainerFansAfterLinkBattle();
if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE || gSpecialVar_0x8004 == USING_DOUBLE_BATTLE) if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE || gSpecialVar_0x8004 == USING_DOUBLE_BATTLE)
{ {
+2 -2
View File
@@ -356,7 +356,7 @@ static void sub_80F5CE4(u8 taskId)
InterviewAfter(); InterviewAfter();
} }
sub_813BADC(2); TryGainNewFanFromCounter(2);
sub_80DEDA8(gSpecialVar_ContestRank); sub_80DEDA8(gSpecialVar_ContestRank);
sub_80DEDA8(0xFE); sub_80DEDA8(0xFE);
gUnknown_02039F5C = 1; gUnknown_02039F5C = 1;
@@ -411,7 +411,7 @@ static void sub_80F5CE4(u8 taskId)
sub_80DEDA8(0xFE); sub_80DEDA8(0xFE);
gUnknown_02039F5C = 1; gUnknown_02039F5C = 1;
gUnknown_02039F5D = sub_80DEFA8(0xFE, 0); gUnknown_02039F5D = sub_80DEFA8(0xFE, 0);
sub_813BADC(2); TryGainNewFanFromCounter(2);
gTasks[taskId].func = sub_80F5F74; gTasks[taskId].func = sub_80F5F74;
} }
} }
+180 -111
View File
@@ -92,9 +92,9 @@ extern const u16 gEventObjectPalette17[];
extern const u16 gEventObjectPalette33[]; extern const u16 gEventObjectPalette33[];
extern const u16 gEventObjectPalette34[]; extern const u16 gEventObjectPalette34[];
void UpdateMovedLilycoveFanClubMembers(void); void TryLoseFansFromPlayTime(void);
void sub_813BF60(void); void SetPlayerGotFirstFans(void);
u16 GetNumMovedLilycoveFanClubMembers(void); u16 GetNumFansOfPlayerInTrainerFanClub(void);
static void RecordCyclingRoadResults(u32, u8); static void RecordCyclingRoadResults(u32, u8);
static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum); static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum);
@@ -131,10 +131,10 @@ static void WaitForDeoxysRockMovement(u8 taskId);
static void sub_813B57C(u8 taskId); static void sub_813B57C(u8 taskId);
static void Task_LoopWingFlapSE(u8 taskId); static void Task_LoopWingFlapSE(u8 taskId);
static void Task_CloseBattlePikeCurtain(u8 taskId); static void Task_CloseBattlePikeCurtain(u8 taskId);
static u8 sub_813BF44(void); static u8 DidPlayerGetFirstFans(void);
static void sub_813BD84(void); static void SetInitialFansOfPlayer(void);
static u16 sub_813BB74(void); static u16 PlayerGainRandomTrainerFan(void);
static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b); static void BufferFanClubTrainerName_(struct LinkBattleRecords *linkRecords, u8 a, u8 b);
void Special_ShowDiploma(void) void Special_ShowDiploma(void)
{ {
@@ -4019,28 +4019,72 @@ bool8 InPokemonCenter(void)
return FALSE; return FALSE;
} }
/* Summary of the Lilycove Trainer Fan Club, because it's a little messy
## The Fan Club room itself
There are initially 4 members of the Fan Club (+ an interviewer), none of whom are fans of the player
After becoming the champion there will be 8 members of the Fan Club, 3 of whom are automatically fans of the player
After this point, if a club member is a fan of the player they will sit at the front table and comment on the player
If they are not fans of the player, they will sit at the far table and can make comments about a different trainer (see BufferFanClubTrainerName)
## Gaining/losing fans
After every link battle the player will gain a fan if they won, or lose a fan if they lost
If the player has at least 3 fans, this is the only way to gain fans
If the player has fewer than 3 fans, they may also gain fans by completing certain tasks enough times (see TryGainNewFanFromCounter)
If the player has at least 5 fans, they can lose a fan every 12 real-time hours, or more often if the timer variable is reset (see TryLoseFansFromPlayTime)
## Variables
VAR_FANCLUB_FAN_COUNTER, a bitfield for tracking the fans
Bits 1-7: Counter for when to add new fans
Bit 8: Flag set after receiving the initial 3 fans
Bits 9-16: Flags for each of the 8 club members, set to 1 when theyre a fan of the player and 0 when theyre not
VAR_FANCLUB_LOSE_FAN_TIMER, a timer for when to lose fans
Compared against playTimeHours. When theyre equal, a fan is ready to be lost
For every fan thats lost this way 12 hours are added to the timer
VAR_LILYCOVE_FAN_CLUB_STATE
0: Player is not the champion yet
1: Player is the champion, ready to meet their initial fans
2: Player has met their initial fans
*/
#define FANCLUB_BITFIELD (gSaveBlock1Ptr->vars[VAR_FANCLUB_FAN_COUNTER - VARS_START])
#define FANCLUB_COUNTER 0x007F
#define FANCLUB_FAN_FLAGS 0xFF80
#define GET_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD >> (flag) & 1)
#define SET_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD |= 1 << (flag))
#define FLIP_TRAINER_FAN_CLUB_FLAG(flag)(FANCLUB_BITFIELD ^= 1 << (flag))
#define GET_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD & FANCLUB_COUNTER)
#define SET_TRAINER_FAN_CLUB_COUNTER(count) (FANCLUB_BITFIELD = (FANCLUB_BITFIELD & FANCLUB_FAN_FLAGS) | (count))
#define INCR_TRAINER_FAN_CLUB_COUNTER(count)(FANCLUB_BITFIELD += (count))
#define CLEAR_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD &= ~(FANCLUB_COUNTER))
void ResetFanClub(void) void ResetFanClub(void)
{ {
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] = 0; gSaveBlock1Ptr->vars[VAR_FANCLUB_FAN_COUNTER - VARS_START] = 0;
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = 0; gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] = 0;
} }
void sub_813BA30(void) void TryLoseFansFromPlayTimeAfterLinkBattle(void)
{ {
if (sub_813BF44() != 0) if (DidPlayerGetFirstFans())
{ {
UpdateMovedLilycoveFanClubMembers(); TryLoseFansFromPlayTime();
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] = gSaveBlock2Ptr->playTimeHours;
} }
} }
void UpdateTrainerFanClubGameClear(void) void UpdateTrainerFanClubGameClear(void)
{ {
if (!((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> 7) & 1)) if (!GET_TRAINER_FAN_CLUB_FLAG(FANCLUB_GOT_FIRST_FANS))
{ {
sub_813BF60(); SetPlayerGotFirstFans();
sub_813BD84(); SetInitialFansOfPlayer();
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] = gSaveBlock2Ptr->playTimeHours;
FlagClear(FLAG_HIDE_FANCLUB_OLD_LADY); FlagClear(FLAG_HIDE_FANCLUB_OLD_LADY);
FlagClear(FLAG_HIDE_FANCLUB_BOY); FlagClear(FLAG_HIDE_FANCLUB_BOY);
FlagClear(FLAG_HIDE_FANCLUB_LITTLE_BOY); FlagClear(FLAG_HIDE_FANCLUB_LITTLE_BOY);
@@ -4050,192 +4094,216 @@ void UpdateTrainerFanClubGameClear(void)
} }
} }
u8 sub_813BADC(u8 a0) // If the player has < 3 fans, gain a new fan whenever the counter reaches 20+
// Defeating Drake or participating in a Link Contest increments the counter by 2
// Participating at Battle Tower or in a Secret Base battle increments the counter by 1
u8 TryGainNewFanFromCounter(u8 incrementId)
{ {
static const u8 gUnknown_085B3470[] = { 2, 1, 2, 1 }; static const u8 sCounterIncrements[] = { 2, 1, 2, 1 };
if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2) if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2)
{ {
if ((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F) + gUnknown_085B3470[a0] > 19) if (GET_TRAINER_FAN_CLUB_COUNTER + sCounterIncrements[incrementId] > 19)
{ {
if (GetNumMovedLilycoveFanClubMembers() < 3) if (GetNumFansOfPlayerInTrainerFanClub() < 3)
{ {
sub_813BB74(); PlayerGainRandomTrainerFan();
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] &= 0xFF80; CLEAR_TRAINER_FAN_CLUB_COUNTER;
} }
else else
{ {
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] = (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0xFF80) | 0x14; SET_TRAINER_FAN_CLUB_COUNTER(20);
} }
} }
else else
{ {
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] += gUnknown_085B3470[a0]; INCR_TRAINER_FAN_CLUB_COUNTER(sCounterIncrements[incrementId]);
} }
} }
return gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F; return GET_TRAINER_FAN_CLUB_COUNTER;
} }
static u16 sub_813BB74(void)
// Loop through the fan club members, and if theyre not a fan of the player there is a 50% chance for them to become a fan
// Stops when a fan is gained
// If no new fan was gained while looping, the last non-fan in the list becomes a fan
// If all the members are already fans of the player then this redundantly sets the first fan in the list to be a fan
static u16 PlayerGainRandomTrainerFan(void)
{ {
static const u8 gUnknown_085B3474[NUM_TRAINER_CLUB_MEMBERS] = static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] =
{ {
8, 9, 10, 11, 12, 13, 14, 15 FANCLUB_MEMBER1,
FANCLUB_MEMBER2,
FANCLUB_MEMBER3,
FANCLUB_MEMBER4,
FANCLUB_MEMBER5,
FANCLUB_MEMBER6,
FANCLUB_MEMBER7,
FANCLUB_MEMBER8
}; };
u8 i; u8 i;
u8 retVal = 0; u8 idx = 0;
for (i = 0; i < ARRAY_COUNT(gUnknown_085B3474); i++) for (i = 0; i < ARRAY_COUNT(sFanClubMemberIds); i++)
{ {
if (!((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B3474[i]) & 1)) if (!GET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[i]))
{ {
retVal = i; idx = i;
if ((Random() & 1) != 0) if (Random() & 1)
{ {
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 1 << gUnknown_085B3474[retVal]; SET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]);
return retVal; return idx;
} }
} }
} }
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 1 << gUnknown_085B3474[retVal]; SET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]);
return retVal; return idx;
} }
static u16 sub_813BC00(void) // Loops through the fan club members, and if theyre a fan of the player there is a 50% chance for them to stop being a fan
// Stops if a fan is removed, or if the player has only one fan left
// If no fan was lost while looping, the last current fan in the list will stop being a fan
static u16 PlayerLoseRandomTrainerFan(void)
{ {
static const u8 gUnknown_085B347C[NUM_TRAINER_CLUB_MEMBERS] = static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] =
{ {
8, 13, 14, 11, 10, 12, 15, 9 FANCLUB_MEMBER1,
FANCLUB_MEMBER6,
FANCLUB_MEMBER7,
FANCLUB_MEMBER4,
FANCLUB_MEMBER3,
FANCLUB_MEMBER5,
FANCLUB_MEMBER8,
FANCLUB_MEMBER2
}; };
u8 i; u8 i;
u8 retVal = 0; u8 idx = 0;
if (GetNumMovedLilycoveFanClubMembers() == 1) if (GetNumFansOfPlayerInTrainerFanClub() == 1)
{ {
return 0; return 0;
} }
for (i = 0; i < ARRAY_COUNT(gUnknown_085B347C); i++) for (i = 0; i < ARRAY_COUNT(sFanClubMemberIds); i++)
{ {
if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[i]) & 1) != 0) if (GET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[i]))
{ {
retVal = i; idx = i;
if ((Random() & 1) != 0) if (Random() & 1)
{ {
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal]; FLIP_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]);
return retVal; return idx;
} }
} }
} }
if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[retVal]) & 1)) if (GET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]))
{ {
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal]; FLIP_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]);
} }
return retVal; return idx;
} }
u16 GetNumMovedLilycoveFanClubMembers(void) u16 GetNumFansOfPlayerInTrainerFanClub(void)
{ {
u8 i; u8 i;
u8 retVal = 0; u8 numFans = 0;
for (i = 0; i < NUM_TRAINER_CLUB_MEMBERS; i++) for (i = 0; i < NUM_TRAINER_FAN_CLUB_MEMBERS; i++)
{ {
if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> (i + 8)) & 1) != 0) if (GET_TRAINER_FAN_CLUB_FLAG(i + FANCLUB_MEMBER1))
{ numFans++;
retVal++;
}
} }
return retVal; return numFans;
} }
void UpdateMovedLilycoveFanClubMembers(void) // If the player has > 5 fans in the Trainer Fan Club, then lose 1 fan for every 12 hours since the last fan loss / timer reset
void TryLoseFansFromPlayTime(void)
{ {
u8 i = 0; u8 i = 0;
if (gSaveBlock2Ptr->playTimeHours < 999) if (gSaveBlock2Ptr->playTimeHours < 999)
{ {
while (TRUE) while (TRUE)
{ {
if (GetNumMovedLilycoveFanClubMembers() < 5) if (GetNumFansOfPlayerInTrainerFanClub() < 5)
{ {
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] = gSaveBlock2Ptr->playTimeHours;
break; break;
} }
else if (i == NUM_TRAINER_CLUB_MEMBERS) else if (i == NUM_TRAINER_FAN_CLUB_MEMBERS)
{ {
break; break;
} }
else if (gSaveBlock2Ptr->playTimeHours - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] < 12) else if (gSaveBlock2Ptr->playTimeHours - gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] < 12)
{ {
return; return;
} }
sub_813BC00(); PlayerLoseRandomTrainerFan();
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] += 12; gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] += 12;
i++; i++;
} }
} }
} }
bool8 ShouldMoveLilycoveFanClubMember(void) bool8 IsFanClubMemberFanOfPlayer(void)
{ {
return (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gSpecialVar_0x8004) & 1; return GET_TRAINER_FAN_CLUB_FLAG(gSpecialVar_0x8004);
} }
static void sub_813BD84(void) static void SetInitialFansOfPlayer(void)
{ {
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x2000; SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_MEMBER6);
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x100; SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_MEMBER1);
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x400; SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_MEMBER3);
} }
void BufferStreakTrainerText(void) void BufferFanClubTrainerName(void)
{ {
u8 a = 0; u8 whichLinkTrainer = 0;
u8 b = 0; u8 whichNPCTrainer = 0;
switch (gSpecialVar_0x8004) switch (gSpecialVar_0x8004)
{ {
case 8: case FANCLUB_MEMBER1:
break; break;
case 9: case FANCLUB_MEMBER2:
break; break;
case 10: case FANCLUB_MEMBER3:
a = 0; whichLinkTrainer = 0;
b = 3; whichNPCTrainer = 3;
break; break;
case 11: case FANCLUB_MEMBER4:
a = 0; whichLinkTrainer = 0;
b = 1; whichNPCTrainer = 1;
break; break;
case 12: case FANCLUB_MEMBER5:
a = 1; whichLinkTrainer = 1;
b = 0; whichNPCTrainer = 0;
break; break;
case 13: case FANCLUB_MEMBER6:
a = 0; whichLinkTrainer = 0;
b = 4; whichNPCTrainer = 4;
break; break;
case 14: case FANCLUB_MEMBER7:
a = 1; whichLinkTrainer = 1;
b = 5; whichNPCTrainer = 5;
break; break;
case 15: case FANCLUB_MEMBER8:
break; break;
} }
sub_813BE30(&gSaveBlock1Ptr->linkBattleRecords, a, b); BufferFanClubTrainerName_(&gSaveBlock1Ptr->linkBattleRecords, whichLinkTrainer, whichNPCTrainer);
} }
static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b) static void BufferFanClubTrainerName_(struct LinkBattleRecords *linkRecords, u8 whichLinkTrainer, u8 whichNPCTrainer)
{ {
struct LinkBattleRecord *record = &linkRecords->entries[a]; struct LinkBattleRecord *record = &linkRecords->entries[whichLinkTrainer];
if (record->name[0] == EOS) if (record->name[0] == EOS)
{ {
switch (b) switch (whichNPCTrainer)
{ {
case 0: case 0:
StringCopy(gStringVar1, gText_Wallace); StringCopy(gStringVar1, gText_Wallace);
@@ -4262,35 +4330,36 @@ static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b)
} }
else else
{ {
StringCopyN(gStringVar1, record->name, 7); StringCopyN(gStringVar1, record->name, PLAYER_NAME_LENGTH);
gStringVar1[7] = EOS; gStringVar1[PLAYER_NAME_LENGTH] = EOS;
ConvertInternationalString(gStringVar1, linkRecords->languages[a]); ConvertInternationalString(gStringVar1, linkRecords->languages[whichLinkTrainer]);
} }
} }
void sub_813BF10(void) void UpdateTrainerFansAfterLinkBattle(void)
{ {
if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2) if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2)
{ {
sub_813BA30(); TryLoseFansFromPlayTimeAfterLinkBattle();
if (gBattleOutcome == B_OUTCOME_WON) if (gBattleOutcome == B_OUTCOME_WON)
sub_813BB74(); PlayerGainRandomTrainerFan();
else else
sub_813BC00(); PlayerLoseRandomTrainerFan();
} }
} }
static bool8 sub_813BF44(void) static bool8 DidPlayerGetFirstFans(void)
{ {
return (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> 7) & 1; return GET_TRAINER_FAN_CLUB_FLAG(FANCLUB_GOT_FIRST_FANS);
} }
void sub_813BF60(void) void SetPlayerGotFirstFans(void)
{ {
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x80; SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_GOT_FIRST_FANS);
} }
u8 sub_813BF7C(void) // return value is always ignored
u8 Script_TryGainNewFanFromCounter(void)
{ {
return sub_813BADC(gSpecialVar_0x8004); return TryGainNewFanFromCounter(gSpecialVar_0x8004);
} }
+1 -1
View File
@@ -1117,7 +1117,7 @@ const u8 *GetSecretBaseTrainerLoseText(void)
void PrepSecretBaseBattleFlags(void) void PrepSecretBaseBattleFlags(void)
{ {
sub_813BADC(1); TryGainNewFanFromCounter(1);
gTrainerBattleOpponent_A = TRAINER_SECRET_BASE; gTrainerBattleOpponent_A = TRAINER_SECRET_BASE;
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_SECRET_BASE; gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_SECRET_BASE;
} }
+5 -8
View File
@@ -2432,7 +2432,7 @@ u8 TV_MonDataIdxToRibbon(u8 monDataIdx)
return 0; return 0;
} }
void sub_80EE72C(void) void TrySetUpTrainerFanClubSpecial(void)
{ {
TVShow *show; TVShow *show;
@@ -2450,22 +2450,19 @@ void sub_80EE72C(void)
} }
} }
bool8 sub_80EE7C0(void) bool8 ShouldHideFanClubInterviewer(void)
{ {
sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows);
if (sCurTVShowSlot == -1) if (sCurTVShowSlot == -1)
{
return TRUE; return TRUE;
}
FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_FAN_CLUB_SPECIAL); FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_FAN_CLUB_SPECIAL);
if (gSpecialVar_Result == TRUE) if (gSpecialVar_Result == TRUE)
{
return TRUE; return TRUE;
}
if (gSaveBlock1Ptr->linkBattleRecords.entries[0].name[0] == EOS) if (gSaveBlock1Ptr->linkBattleRecords.entries[0].name[0] == EOS)
{
return TRUE; return TRUE;
}
return FALSE; return FALSE;
} }