Freeciv-3.3
|
#include "log.h"
#include "rand.h"
#include "city.h"
#include "effects.h"
#include "game.h"
#include "map.h"
#include "tile.h"
#include "unittype.h"
#include "traderoutes.h"
Go to the source code of this file.
Variables | |
const char * | trade_route_type_names [] |
const char * | trade_route_cancelling_type_names [] |
struct trade_route_settings | trtss [TRT_LAST] |
static struct goods_type | goods [MAX_GOODS_TYPES] |
Comparator used in max_tile_trade.
Definition at line 401 of file traderoutes.c.
Referenced by check_for_game_over(), consider_worker_action(), dem_line_item(), max_tile_trade(), and worker_evaluate_city_requests().
Return TRUE iff the two cities are capable of trade; i.e., if a caravan from one city can enter the other to sell its goods.
See also can_establish_trade_route().
Definition at line 214 of file traderoutes.c.
Referenced by actres_possible(), can_establish_trade_route(), city_receives_goods(), dai_caravan_can_trade_cities_diff_cont(), dai_choose_trade_route(), dai_manage_caravan(), do_unit_establish_trade(), popup_info_text(), real_menus_update(), reestablish_city_trade_routes(), set_city_production(), trade_benefit(), unit_can_est_trade_route_here(), update_city_activities(), and windfall_benefit().
Returns TRUE iff the two cities can establish a trade route. We look at the distance and ownership of the cities as well as their existing trade routes.
Definition at line 284 of file traderoutes.c.
Referenced by actres_possible(), api_edit_create_trade_route(), trade_generator::calculate_inner(), dai_manage_caravan(), popup_info_text(), real_menus_update(), reestablish_city_trade_routes(), trade_benefit(), and windfall_benefit().
enum trade_route_type cities_trade_route_type | ( | const struct city * | pcity1, |
const struct city * | pcity2 | ||
) |
What is type of the trade route between two cities.
Definition at line 58 of file traderoutes.c.
Referenced by can_cities_trade(), city_receives_goods(), do_unit_establish_trade(), get_caravan_enter_city_trade_bonus(), reestablish_city_trade_routes(), set_city_production(), trade_base_between_cities(), update_city_activities(), and windfall_benefit().
Return number of trade route city has
Definition at line 393 of file traderoutes.c.
Referenced by adjust_improvement_wants_by_effects(), trade_generator::calculate(), can_establish_trade_route(), dai_choose_trade_route(), dai_effect_value(), do_unit_establish_trade(), handle_city_info(), one_city_trade_benefit(), and sg_save_player_cities().
Does city receive goods
Definition at line 711 of file traderoutes.c.
Referenced by is_good_req_active().
int city_trade_removable | ( | const struct city * | pcity, |
int | priority, | ||
struct trade_route_list * | would_remove | ||
) |
Return the minimum value of the sum of trade routes which could be replaced by a new one. The target routes to be removed will be put into 'would_remove', if set.
Definition at line 231 of file traderoutes.c.
Referenced by can_establish_trade_route(), do_unit_establish_trade(), and one_city_trade_benefit().
int get_caravan_enter_city_trade_bonus | ( | const struct city * | pc1, |
const struct city * | pc2, | ||
const struct unit_type * | ut, | ||
struct goods_type * | pgood, | ||
const bool | establish_trade | ||
) |
Returns the revenue trade bonus - you get this when establishing a trade route and also when you simply sell your trade goods at the new city.
If you change this calculation remember to also update its duplication in dai_choose_trade_route()
pgood can be NULL for ignoring good's onetime_pct.
Definition at line 477 of file traderoutes.c.
Referenced by do_unit_establish_trade(), get_act_sel_action_custom_text(), real_menus_update(), and windfall_benefit().
struct goods_type * goods_by_number | ( | Goods_type_id | id | ) |
Return goods type of given id.
Definition at line 621 of file traderoutes.c.
Referenced by tab_good::add_now(), handle_ruleset_goods(), handle_trade_route_info(), sg_load_player_city(), sg_save_player_cities(), universal_by_number(), universal_value_initial(), and unpackage_unit().
struct goods_type * goods_by_rule_name | ( | const char * | name | ) |
Returns goods type matching rule name or NULL if there is no goods type with such name.
Definition at line 648 of file traderoutes.c.
Referenced by tab_good::initialize_new_good(), tab_good::select_good(), sg_load_player_city(), sg_load_player_unit(), and universal_value_from_str().
struct goods_type * goods_by_translated_name | ( | const char * | name | ) |
Returns goods type matching the translated name, or NULL if there is no goods type with that name.
Definition at line 671 of file traderoutes.c.
Referenced by help_update_goods(), and help_widget::set_topic_goods().
bool goods_can_be_provided | ( | const struct city * | pcity, |
const struct goods_type * | pgood, | ||
const struct unit * | punit | ||
) |
Can the city provide goods.
Definition at line 693 of file traderoutes.c.
Referenced by goods_from_city_to_unit(), is_good_req_active(), and update_city_activities().
Free the memory associated with goods
Definition at line 581 of file traderoutes.c.
Referenced by game_ruleset_free().
Fond out goods type for the new trade route
src | City to start traderoute from |
punit | Unit to carry the goods |
Definition at line 744 of file traderoutes.c.
Referenced by api_edit_create_trade_route(), get_discounted_reward(), unit_current_goods(), and unit_get_goods().
bool goods_has_flag | ( | const struct goods_type * | pgood, |
enum goods_flag_id | flag | ||
) |
Check if goods has given flag
Definition at line 685 of file traderoutes.c.
Referenced by create_trade_route(), is_good_req_active(), save_game_ruleset(), and update_city_activities().
Goods_type_id goods_index | ( | const struct goods_type * | pgood | ) |
Return the goods index.
Currently same as goods_number(), paired with goods_count() indicates use as an array index.
Definition at line 611 of file traderoutes.c.
Referenced by load_game_names(), load_ruleset_game(), package_unit(), and tab_good::refresh().
Initialize goods structures.
Definition at line 565 of file traderoutes.c.
Referenced by game_ruleset_init().
const char * goods_name_translation | ( | struct goods_type * | pgood | ) |
Return translated name of this goods type.
Definition at line 631 of file traderoutes.c.
Referenced by boot_help_texts(), do_unit_establish_trade(), get_city_dialog_output_text(), goods_by_translated_name(), insert_allows(), req_text_insert(), universal_name_translation(), and worklist_item_postpone_req_vec().
Goods_type_id goods_number | ( | const struct goods_type * | pgood | ) |
Return the goods id.
Definition at line 598 of file traderoutes.c.
Referenced by package_city(), send_ruleset_goods(), and universal_number().
const char * goods_rule_name | ( | struct goods_type * | pgood | ) |
Return untranslated name of this goods type.
Definition at line 639 of file traderoutes.c.
Referenced by tab_good::delete_now(), tab_good::edit_effects(), tab_good::edit_reqs(), goods_by_rule_name(), is_universal_needed(), load_ruleset_game(), tab_good::name_given(), tab_good::refresh(), sanity_check_ruleset_data(), sg_save_player_cities(), sg_save_player_units(), universal_kind_values(), universal_rule_name(), and tab_good::update_good_info().
Check if cities have an established trade route.
Definition at line 551 of file traderoutes.c.
Referenced by trade_generator::calculate_inner(), can_establish_trade_route(), do_unit_establish_trade(), and draw_calculated_trade_routes().
Returns the maximum trade production of the tiles of the city.
Definition at line 409 of file traderoutes.c.
Referenced by max_trade_prod().
Returns the maximum trade production of a city.
Definition at line 454 of file traderoutes.c.
Referenced by dai_choose_trade_route(), and get_caravan_enter_city_trade_bonus().
Return current maximum number of trade routes city can have.
Definition at line 48 of file traderoutes.c.
Referenced by trade_generator::calculate(), trade_generator::calculate_inner(), can_establish_trade_route(), trade_generator::check_if_done(), city_trade_removable(), dai_choose_trade_route(), dai_effect_value(), do_unit_establish_trade(), get_city_mapview_trade_routes(), one_city_trade_benefit(), and trade_benefit().
Return the trade that exists between these cities, assuming they have a trade route.
Definition at line 332 of file traderoutes.c.
Referenced by can_establish_trade_route(), dai_effect_value(), do_unit_establish_trade(), get_act_sel_action_custom_text(), max_trade_prod(), popup_info_text(), real_menus_update(), set_city_production(), and trade_benefit().
Get trade income specific to route's good.
Definition at line 368 of file traderoutes.c.
Referenced by set_city_production().
enum trade_route_illegal_cancelling trade_route_cancelling_type_by_name | ( | const char * | name | ) |
Get trade route cancelling type by name.
Definition at line 184 of file traderoutes.c.
Referenced by load_ruleset_game().
const char * trade_route_cancelling_type_name | ( | enum trade_route_illegal_cancelling | type | ) |
Return human readable name of trade route cancelling type
Definition at line 174 of file traderoutes.c.
Referenced by save_game_ruleset().
struct trade_route_settings * trade_route_settings_by_type | ( | enum trade_route_type | type | ) |
Get trade route settings related to type.
Definition at line 201 of file traderoutes.c.
Referenced by city_receives_goods(), do_unit_establish_trade(), handle_ruleset_trade(), load_ruleset_game(), reestablish_city_trade_routes(), save_game_ruleset(), send_ruleset_trade_routes(), set_city_production(), trade_route_types_init(), update_city_activities(), and windfall_benefit().
enum trade_route_type trade_route_type_by_name | ( | const char * | name | ) |
Get trade route type by name.
Definition at line 158 of file traderoutes.c.
Referenced by load_ruleset_game().
const char * trade_route_type_name | ( | enum trade_route_type | type | ) |
Return human readable name of trade route type
Definition at line 148 of file traderoutes.c.
Referenced by save_game_ruleset().
int trade_route_type_trade_pct | ( | enum trade_route_type | type | ) |
Return percentage bonus for trade route type.
Definition at line 122 of file traderoutes.c.
Referenced by can_cities_trade(), dai_choose_trade_route(), and trade_base_between_cities().
Initialize trade route types.
Definition at line 134 of file traderoutes.c.
Referenced by game_ruleset_init().
What goods unit would provide if it established trade route now?
punit | Unit to establish the trade route |
homecity | Homecity of the unit. Can be used speculatively. |
Definition at line 779 of file traderoutes.c.
Referenced by actres_possible(), dai_manage_caravan(), do_unit_establish_trade(), popup_info_text(), and real_menus_update().
|
static |
Definition at line 43 of file traderoutes.c.
Referenced by create_trade_route(), do_unit_establish_trade(), goods_by_number(), goods_free(), goods_index(), goods_init(), and receive_packet_trade_route_info_100().
Definition at line 37 of file traderoutes.c.
Referenced by trade_route_cancelling_type_by_name(), and trade_route_cancelling_type_name().
Definition at line 32 of file traderoutes.c.
Referenced by trade_route_type_by_name(), and trade_route_type_name().
struct trade_route_settings trtss[TRT_LAST] |
Definition at line 41 of file traderoutes.c.
Referenced by get_caravan_enter_city_trade_bonus(), trade_route_settings_by_type(), and trade_route_type_trade_pct().