1 /***********************************************************************
2 Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2, or (at your option)
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12 ***********************************************************************/
13 #ifndef FC__HANDICAPS_H
14 #define FC__HANDICAPS_H
17 H_DIPLOMAT
= 0, /* Can't build offensive diplomats */
18 H_AWAY
, /* Away mode */
19 H_LIMITEDHUTS
, /* Can get only 25 gold and barbs from huts */
20 H_DEFENSIVE
, /* Build defensive buildings without calculating need */
21 H_EXPERIMENTAL
, /* Enable experimental AI features (for testing) */
22 H_RATES
, /* Can't set its rates beyond government limits */
23 H_TARGETS
, /* Can't target anything it doesn't know exists */
24 H_HUTS
, /* Doesn't know which unseen tiles have huts on them */
25 H_FOG
, /* Can't see through fog of war */
26 H_NOPLANES
, /* Doesn't build air units */
27 H_MAP
, /* Only knows map_is_known tiles */
28 H_DIPLOMACY
, /* Not very good at diplomacy */
29 H_REVOLUTION
, /* Cannot skip anarchy */
30 H_EXPANSION
, /* Don't like being much larger than human */
31 H_DANGER
, /* Always thinks its city is in danger */
32 H_CEASEFIRE
, /* Has to offer cease-fire on first contact */
36 BV_DEFINE(bv_handicap
, H_LAST
);
38 void handicaps_init(struct player
*pplayer
);
39 void handicaps_close(struct player
*pplayer
);
41 void handicaps_set(struct player
*pplayer
, bv_handicap handicaps
);
42 bool has_handicap(const struct player
*pplayer
, enum handicap_type htype
);
44 #endif /* FC__HANDICAPS_H */