diff options
Diffstat (limited to 'tracker_state.cpp')
-rw-r--r-- | tracker_state.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tracker_state.cpp b/tracker_state.cpp index 6eaf87a..858ec3e 100644 --- a/tracker_state.cpp +++ b/tracker_state.cpp | |||
@@ -16,6 +16,22 @@ bool IsPanelReachable_Helper(int panel_id, | |||
16 | return false; | 16 | return false; |
17 | } | 17 | } |
18 | 18 | ||
19 | if (panel_obj.name == "THE MASTER") { | ||
20 | int achievements_accessible = 0; | ||
21 | |||
22 | for (int achieve_id : GetGameData().GetAchievementPanels()) { | ||
23 | if (IsPanelReachable_Helper(achieve_id, reachable_rooms)) { | ||
24 | achievements_accessible++; | ||
25 | |||
26 | if (achievements_accessible >= AP_GetMasteryRequirement()) { | ||
27 | break; | ||
28 | } | ||
29 | } | ||
30 | } | ||
31 | |||
32 | return (achievements_accessible >= AP_GetMasteryRequirement()); | ||
33 | } | ||
34 | |||
19 | for (int room_id : panel_obj.required_rooms) { | 35 | for (int room_id : panel_obj.required_rooms) { |
20 | if (!reachable_rooms.count(room_id)) { | 36 | if (!reachable_rooms.count(room_id)) { |
21 | return false; | 37 | return false; |