Freeciv-3.1: /fast/freeciv/nightly/S3_1/server/advisors/advdata.h File Reference

Freeciv-3.1

Loading...
Searching...
No Matches
Data Structures | Enumerations | Functions
advdata.h File Reference
`#include "bitvector.h"`
`#include "support.h"`
`#include "fc_types.h"`
`#include "improvement.h"`
`#include "advtools.h"`

Go to the source code of this file.

## Data Structures

struct | adv_dipl
struct | adv_data

## Enumerations

enum | adv_improvement_status { ADV_IMPR_CALCULATE , ADV_IMPR_CALCULATE_FULL , ADV_IMPR_ESTIMATE , ADV_IMPR_LAST }

## Functions

void | adv_data_init (struct player *pplayer)
void | adv_data_default (struct player *pplayer)
void | adv_data_close (struct player *pplayer)
bool | adv_data_phase_init (struct player *pplayer, bool is_new_phase)
void | adv_data_phase_done (struct player *pplayer)
bool | is_adv_data_phase_open (struct player *pplayer)
void | adv_data_analyze_rulesets (struct player *pplayer)
struct adv_data * | adv_data_get (struct player *pplayer, bool *close)
adv_want | adv_gov_action_immunity_want (struct government *gov)
adv_want | adv_gov_player_bonus_want (struct player *pplayer)
void | adv_best_government (struct player *pplayer)
bool | adv_wants_science (struct player *pplayer)
bool | adv_is_player_dangerous (struct player *pplayer, struct player *aplayer)

## Enumeration Type Documentation

## ◆ adv_improvement_status

enum adv_improvement_status

Enumerator
ADV_IMPR_CALCULATE |
ADV_IMPR_CALCULATE_FULL |
ADV_IMPR_ESTIMATE |
ADV_IMPR_LAST |

Definition at line 33 of file advdata.h.

## Function Documentation

## ◆ adv_best_government()

void adv_best_government | ( | struct player * | pplayer | ) |

Find best government to aim for. We do it by setting our government to all possible values and calculating our GDP (total ai_eval_calc_city) under this government. If the very best of the governments is not available to us (it is not yet discovered), we record it in the goal.gov structure with the aim of wanting the necessary tech more. The best of the available governments is recorded in goal.revolution. We record the want of each government, and only recalculate this data every ai->govt_reeval_turns turns.

Note: Call this before doing taxes!

Definition at line 960 of file advdata.c.

Referenced by adv_data_phase_init().

## ◆ adv_data_analyze_rulesets()

void adv_data_analyze_rulesets | ( | struct player * | pplayer | ) |

Analyze rulesets. Must be run after rulesets are loaded, unlike _init, which must be run before savegames are loaded, which is usually before rulesets.

Definition at line 192 of file advdata.c.

Referenced by srv_ready().

## ◆ adv_data_close()

void adv_data_close | ( | struct player * | pplayer | ) |

Free memory for advisor data.

Definition at line 741 of file advdata.c.

Referenced by server_remove_player().

## ◆ adv_data_default()

void adv_data_default | ( | struct player * | pplayer | ) |

Initialize with sane values.

Definition at line 718 of file advdata.c.

Referenced by adv_data_init(), server_player_init(), and srv_ready().

## ◆ adv_data_get()

struct adv_data * adv_data_get | ( | struct player * | pplayer,
|  | bool * | caller_closes
| ) |  |

Return a pointer to our data. If caller_closes is set, data phase will be opened even if it's currently closed, and the boolean will be set accordingly to tell caller that phase needs closing.

Definition at line 593 of file advdata.c.

Referenced by adjust_improvement_wants_by_effects(), adv_best_government(), adv_wants_science(), base_want(), building_advisor(), calculate_want_for_paratrooper(), cityresult_fill(), contemplate_terrain_improvements(), count_my_units(), dai_adjust_policies(), dai_build_adv_init(), dai_city_choose_build(), dai_data_phase_begin(), dai_diplomacy_actions(), dai_diplomacy_begin_new_phase(), dai_gov_value(), dai_manage_government(), dai_manage_taxes(), dai_tech_base_want(), dai_tech_effect_values(), dai_war_desire(), domestic_advisor_choose_build(), military_advisor_choose_build(), military_amortize(), and texai_city_worker_wants().

## ◆ adv_data_init()

void adv_data_init | ( | struct player * | pplayer | ) |

Allocate memory for advisor data. Save to call multiple times.

Definition at line 686 of file advdata.c.

Referenced by server_create_player().

## ◆ adv_data_phase_done()

void adv_data_phase_done | ( | struct player * | pplayer | ) |

Clean up our mess.

Definition at line 553 of file advdata.c.

Referenced by adv_data_close(), adv_data_get(), check_terrain_change(), dai_data_phase_begin(), end_phase(), init_new_game(), server_quit(), sg_load_sanitycheck(), sg_load_sanitycheck(), and try_summon_barbarians().

## ◆ adv_data_phase_init()

bool adv_data_phase_init | ( | struct player * | pplayer,
|  | bool | is_new_phase
| ) |  |

Make and cache lots of calculations needed for other functions.

Returns TRUE if new data was created, FALSE if data existed already.

Note: We use map.num_continents here rather than pplayer->num_continents because we are omniscient and don't care about such trivialities as who can see what.

FIXME: We should try to find the lowest common defense strength of our defending units, and ignore enemy units that are incapable of harming us, instead of just checking attack strength > 1.

Definition at line 262 of file advdata.c.

Referenced by adv_data_get(), begin_phase(), check_terrain_change(), init_new_game(), kill_player(), sg_load_sanitycheck(), sg_load_sanitycheck(), split_player(), try_summon_barbarians(), and unleash_barbarians().

## ◆ adv_gov_action_immunity_want()

adv_want adv_gov_action_immunity_want | ( | struct government * | gov | ) |

Get value of government provided action immunities.

Definition at line 812 of file advdata.c.

Referenced by adv_best_government(), and dai_gov_value().

## ◆ adv_gov_player_bonus_want()

adv_want adv_gov_player_bonus_want | ( | struct player * | pplayer | ) |

Get value of currently set government provided misc player bonuses.

Caller can set player's government temporarily to another one to evaluate that government instead of the one player actually have.

Definition at line 932 of file advdata.c.

Referenced by adv_best_government(), and dai_gov_value().

## ◆ adv_is_player_dangerous()

bool adv_is_player_dangerous | ( | struct player * | pplayer,
|  | struct player * | aplayer
| ) |  |

There are some signs that a player might be dangerous: We are at war with them, they have done lots of ignoble things to us, they are an ally of one of our enemies (a ticking bomb to be sure), we don't like them, diplomatic state is neutral or we have cease fire.

Definition at line 1087 of file advdata.c.

Referenced by adv_data_phase_init(), assess_danger(), compute_tech_sell_price(), and dai_hunter_manage().

## ◆ adv_wants_science()

bool adv_wants_science | ( | struct player * | pplayer | ) |

Return whether science would help us at all.

Definition at line 1076 of file advdata.c.

Referenced by adv_data_phase_init(), dai_effect_value(), and dai_manage_taxes().

## ◆ is_adv_data_phase_open()

bool is_adv_data_phase_open | ( | struct player * | pplayer | ) |

Return whether data phase is currently open. Data phase is open between adv_data_phase_init() and adv_data_phase_done() calls.

Definition at line 242 of file advdata.c.

Referenced by check_terrain_change().