1 #ifndef EMPIRE_CITY_H 2 #define EMPIRE_CITY_H 3 4 #include "core/buffer.h" 5 #include "game/resource.h" 6 7 typedef struct { 8 int in_use; 9 int type; 10 int name_id; 11 int route_id; 12 int is_open; 13 int buys_resource[RESOURCE_MAX]; 14 int sells_resource[RESOURCE_MAX]; 15 int cost_to_open; 16 int trader_entry_delay; 17 int empire_object_id; 18 int is_sea_trade; 19 int trader_figure_ids[3]; 20 } empire_city; 21 22 void empire_city_clear_all(void); 23 24 empire_city *empire_city_get(int city_id); 25 26 int empire_city_get_route_id(int city_id); 27 28 int empire_can_import_resource(int resource); 29 30 int empire_can_import_resource_potentially(int resource); 31 32 int empire_has_access_to_resource(int resource); 33 34 int empire_can_export_resource_potentially(int resource); 35 36 int empire_can_export_resource(int resource); 37 38 int can_produce_resource(int resource); 39 40 int empire_can_produce_resource(int resource); 41 42 int empire_can_produce_resource_potentially(int resource); 43 44 int empire_city_get_for_object(int empire_object_id); 45 46 int empire_city_get_for_trade_route(int route_id); 47 48 int empire_city_is_trade_route_open(int route_id); 49 50 void empire_city_reset_yearly_trade_amounts(void); 51 52 int empire_city_count_wine_sources(void); 53 54 int empire_city_get_vulnerable_roman(void); 55 56 void empire_city_expand_empire(void); 57 58 void empire_city_force_sell(int route, int resource); 59 60 void empire_city_set_vulnerable(int city_id); 61 62 void empire_city_set_foreign(int city_id); 63 64 void empire_city_open_trade(int city_id); 65 66 void empire_city_generate_trader(void); 67 68 void empire_city_remove_trader(int city_id, int figure_id); 69 70 int empire_unlock_all_resources(void); 71 72 void empire_city_save_state(buffer *buf); 73 74 void empire_city_load_state(buffer *buf); 75 76 #endif // EMPIRE_CITY_H 77