about summary refs log tree commit diff stats
path: root/data/maps/control_center/rooms/Repetitive Entrance.txtpb
diff options
context:
space:
mode:
Diffstat (limited to 'data/maps/control_center/rooms/Repetitive Entrance.txtpb')
0 files changed, 0 insertions, 0 deletions
704c08bb439b9a90f7be2d26a0c8b01777e2cf2c'>704c08b ^
4ec5bf3 ^
704c08b ^




c9a21a3 ^
704c08b ^

b6628ef ^
bb12ecd ^
c9a21a3 ^
8e89e19 ^
4adfe42 ^
704c08b ^

08ffb40 ^

8e89e19 ^
08ffb40 ^


704c08b ^






1ec2738 ^
baf43ed ^
704c08b ^

08ffb40 ^
8e89e19 ^


704c08b ^




dc4a143 ^





704c08b ^




dc4a143 ^
c9a21a3 ^
704c08b ^



09d67fb ^
8e89e19 ^
704c08b ^

9bf6a50 ^
4adfe42 ^
704c08b ^


9f25878 ^
704c08b ^



9bf6a50 ^
3b49bdc ^
704c08b ^

d7212d7 ^








8e89e19 ^
704c08b ^

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115



                            
                   















                       



                                     
              
         




                                  
                                   

                              
                           
                               
                            
                          
                    

  

                               
                      


                   






                             
                         
                        

                             
                                                   


                            




                          





                          




                          
                                      
                          



                   
                               
                          

                          
                         
                    


                
         



                                  
                         
                    

  








                                                          
                                           

                                                       
#ifndef GAME_DATA_H_9C42AC51
#define GAME_DATA_H_9C42AC51

#include <map>
#include <optional>
#include <string>
#include <vector>

enum class LingoColor {
  kNone,
  kBlack,
  kRed,
  kBlue,
  kYellow,
  kGreen,
  kOrange,
  kPurple,
  kBrown,
  kGray
};

constexpr int kLOCATION_NORMAL = 1;
constexpr int kLOCATION_REDUCED = 2;
constexpr int kLOCATION_INSANITY = 4;

struct Panel {
  int id;
  int room;
  std::string name;
  std::vector<LingoColor> colors;
  std::vector<int> required_rooms;
  std::vector<int> required_doors;
  std::vector<int> required_panels;
  bool check = false;
  bool exclude_reduce = false;
  bool achievement = false;
  std::string achievement_name;
  bool non_counting = false;
  int ap_location_id = -1;
  bool hunt = false;
};

struct ProgressiveRequirement {
  std::string item_name;
  int ap_item_id = -1;
  int quantity = 0;
};

struct Door {
  int room;
  std::string name;
  std::string location_name;
  std::string item_name;
  std::string group_name;
  bool skip_location = false;
  bool skip_item = false;
  bool is_event = false;
  std::vector<int> panels;
  bool exclude_reduce = true;
  std::vector<ProgressiveRequirement> progressives;
  int ap_item_id = -1;
  int group_ap_item_id = -1;
  int ap_location_id = -1;
};

struct Exit {
  int destination_room;
  std::optional<int> door;
  bool painting = false;
};

struct PaintingExit {
  std::string id;
  std::optional<int> door;
};

struct Room {
  std::string name;
  std::vector<Exit> exits;
  std::vector<PaintingExit> paintings;
  std::vector<int> panels;
};

struct Location {
  std::string name;
  std::string ap_location_name;
  int ap_location_id = -1;
  int room;
  std::vector<int> panels;
  int classification = 0;
  bool hunt = false;
};

struct MapArea {
  int id;
  std::string name;
  std::vector<Location> locations;
  int map_x;
  int map_y;
  int classification = 0;
  bool hunt = false;
};

const std::vector<MapArea>& GD_GetMapAreas();
const MapArea& GD_GetMapArea(int id);
int GD_GetRoomByName(const std::string& name);
const Room& GD_GetRoom(int room_id);
const std::vector<Door>& GD_GetDoors();
const Door& GD_GetDoor(int door_id);
const Panel& GD_GetPanel(int panel_id);
int GD_GetRoomForPainting(const std::string& painting_id);
const std::vector<int>& GD_GetAchievementPanels();
int GD_GetItemIdForColor(LingoColor color);

#endif /* end of include guard: GAME_DATA_H_9C42AC51 */