81 return _(
"Doesn't build offensive diplomatic units.");
85 return _(
"Gets reduced bonuses from huts.");
87 return _(
"Prefers defensive buildings and avoids close diplomatic "
90 return _(
"THIS IS ONLY FOR TESTING OF NEW AI FEATURES! For ordinary "
91 "servers, this level is no different to 'Hard'.");
94 return _(
"Has no restrictions on national budget.");
98 "Can target units and cities in unseen or unexplored territory.");
101 return _(
"Knows the location of huts in unexplored territory.");
104 return _(
"Can see through fog of war.");
106 return _(
"Doesn't build air units.");
109 return _(
"Has complete map knowledge, including unexplored territory.");
111 return _(
"Naive at diplomacy.");
114 return _(
"Can skip anarchy during revolution.");
116 return _(
"Limits growth to match human players.");
118 return _(
"Believes its cities are always under threat.");
120 return _(
"Always offers cease-fire on first contact.");
122 return _(
"Doesn't bribe worker or city founder units.");
125 return _(
"Can change city production type without penalty.");
127 case H_ASSESS_DANGER_LIMITED:
128 return _(
"Limits the distance to search for threatening enemy units.");
bool has_handicap(const struct player *pplayer, enum handicap_type htype)
AI players may have handicaps - allowing them to cheat or preventing them from using certain algorith...
void handicaps_set(struct player *pplayer, QBitArray *handicaps)
Set player handicaps.
const char * handicap_desc(enum handicap_type htype, bool *inverted)
Return a short (translated) string describing the handicap, for help.
void handicaps_init(struct player *pplayer)
Initialize handicaps for player.
void handicaps_close(struct player *pplayer)
Free resources associated with player handicaps.
#define fc_assert(condition)
struct player_ai ai_common