00001
00002
00003
00004
00005
00006 #ifndef __OFacilit_H
00007 #define __OFacilit_H
00008
00009 #include <GAMEDEF.H>
00010
00011
00012
00013
00014
00018
00019 public:
00020
00021 public:
00022 Facility();
00023 ~Facility();
00024 void init();
00025 void deinit();
00026 void report(int);
00027 int detect();
00028 int detect2();
00029
00030 char current_mode;
00031
00032
00033 int write_file(File* filePtr);
00034 int read_file(File* filePtr);
00035
00036
00037
00038 public:
00039
00040
00041
00042 float spinner_var1,spinner_var3,debt_spinner_var1,debt_spinner_var2;
00043 #if(GAME_VERSION>=200)
00044 float spinner_var4;
00045 #endif
00046
00047
00048 float maximum_debt_balance_as_a_percent_of_funds_balances;
00049
00050 float max_interest_payments_as_a_percent_of_operating_expenditures;
00051
00052
00053 float percent_gap_required_before_new_construction_is_considered;
00054 float escalation_factor_for_deferrd_maintenance_per_year;
00055
00056
00057 int total_normal_onm;
00058 float total_actual_new_debt;
00059
00060 float construction_project_spending[HISTORY_YEAR_COUNT];
00061
00062
00063
00064 public:
00065
00066 int cur_debt_limit;
00067 float percent_project_funded_with_debt;
00068
00069 int min_capital_reserve_balance;
00070
00071
00072
00073 int begin_backlog;
00074 int cur_change_backlog;
00075 float facility_staff_morale;
00076
00077
00078
00079 float ratio_of_square_footage_to_benchmark[HISTORY_YEAR_COUNT];
00080
00081
00082 float total_invest_close_gap;
00083 int normal_area[HISTORY_MONTH_COUNT],
00084 actual_area[HISTORY_MONTH_COUNT],
00085 projected_area[HISTORY_MONTH_COUNT];
00086
00087
00088 int total_debt_capacity[HISTORY_YEAR_COUNT];
00089
00090 int outstanding_debt_balance[HISTORY_YEAR_COUNT];
00091 int debt_limit[HISTORY_YEAR_COUNT];
00092
00093
00094 int onm_n_backlog_history[HISTORY_YEAR_COUNT2];
00095
00096
00097 int transfer_history[HISTORY_YEAR_COUNT];
00098 int gifts_to_facility[HISTORY_YEAR_COUNT];
00099 float captial_reserve_expense[HISTORY_YEAR_COUNT];
00100
00101
00102 #if(GAME_VERSION>=200)
00103 float initial_total_invest_close_gap;
00104
00105 float initial_captial_reserve_expense;
00106 int initial_crime_index;
00107 int initial_normal_area;
00108 int initial_actual_area;
00109 int initial_projected_area;
00110 #endif
00111
00112
00113
00114
00115 public:
00116 void init_data_pre_finance();
00117 void init_data();
00118 void update_history_yearly();
00119 void next_day();
00120 void run_new_construction();
00121
00122
00123 #if(GAME_VERSION>=200)
00124 void save_initial_data();
00125 void begin_space_inventory();
00126 #endif
00127
00128
00129 private:
00130 void update_history_sub();
00131 void calc_facility_staff_morale();
00132 #if(GAME_VERSION>=200)
00133 #else
00134 void begin_space_inventory();
00135 #endif
00136 void update_vars_monthly();
00137
00138
00139
00140
00141 public:
00142 int cur_parking_supply;
00143 int projected_parking_supply;
00144 int farout_capacity;
00145
00146 int parking_demand[HISTORY_YEAR_COUNT];
00147 int parking_supply[HISTORY_YEAR_COUNT];
00148 char crime_index[HISTORY_MONTH_COUNT];
00149
00150 void update_parking(bool init=false);
00151 void update_crime(bool init=false);
00152 };
00153
00154 extern Facility facility_office;
00155
00156
00157 #endif