1 #pragma once 2 3 class PlaceInfo 4 { 5 public: 6 branch_type branch; 7 8 unsigned int num_visits; 9 unsigned int levels_seen; 10 11 unsigned int mon_kill_exp; 12 unsigned int mon_kill_num[KC_NCATEGORIES]; 13 14 int turns_total; 15 int turns_explore; 16 int turns_travel; 17 int turns_interlevel; 18 int turns_resting; 19 int turns_other; 20 21 int elapsed_total; 22 int elapsed_explore; 23 int elapsed_travel; 24 int elapsed_interlevel; 25 int elapsed_resting; 26 int elapsed_other; 27 28 public: 29 PlaceInfo(); 30 31 bool is_global() const; 32 33 void assert_validity() const; 34 35 const string short_name() const; 36 37 const PlaceInfo &operator += (const PlaceInfo &other); 38 const PlaceInfo &operator -= (const PlaceInfo &other); 39 PlaceInfo operator + (const PlaceInfo &other) const; 40 PlaceInfo operator - (const PlaceInfo &other) const; 41 }; 42 43 class LevelXPInfo 44 { 45 public: 46 level_id level; 47 48 unsigned int non_vault_xp; 49 unsigned int non_vault_count; 50 unsigned int vault_xp; 51 unsigned int vault_count; 52 53 public: 54 LevelXPInfo(); 55 LevelXPInfo(const level_id &level); 56 57 bool is_global() const; 58 59 void assert_validity() const; 60 61 const LevelXPInfo &operator += (const LevelXPInfo &other); 62 const LevelXPInfo &operator -= (const LevelXPInfo &other); 63 LevelXPInfo operator + (const LevelXPInfo &other) const; 64 LevelXPInfo operator - (const LevelXPInfo &other) const; 65 }; 66