Feature #1155 ยป 0073-AI-Pass-civ_map-to-dai_choose_bodyguard.patch
ai/default/daimilitary.c | ||
---|---|---|
is the only role being considered worthy of bodyguarding in findjob.
|
||
**************************************************************************/
|
||
static struct unit_type *dai_choose_bodyguard(struct ai_type *ait,
|
||
const struct civ_map *nmap,
|
||
struct city *pcity,
|
||
enum terrain_class tc,
|
||
enum unit_role_id role,
|
||
... | ... | |
struct unit_type *bestid = NULL;
|
||
adv_want best = 0;
|
||
struct player *pplayer = city_owner(pcity);
|
||
const struct civ_map *nmap = &(wld.map);
|
||
simple_ai_unit_type_iterate(putype) {
|
||
/* Only consider units of given role, or any if invalid given */
|
||
... | ... | |
}
|
||
/* Consider making a land bodyguard */
|
||
punittype = dai_choose_bodyguard(ait, pcity, TC_LAND, L_DEFEND_GOOD,
|
||
punittype = dai_choose_bodyguard(ait, nmap, pcity, TC_LAND, L_DEFEND_GOOD,
|
||
allow_gold_upkeep);
|
||
if (punittype) {
|
||
dai_unit_consider_bodyguard(ait, pcity, punittype, choice);
|
||
... | ... | |
dai_choose_diplomat_offensive(ait, pplayer, pcity, choice);
|
||
/* Consider making a sea bodyguard */
|
||
punittype = dai_choose_bodyguard(ait, pcity, TC_OCEAN, L_DEFEND_GOOD,
|
||
punittype = dai_choose_bodyguard(ait, nmap, pcity, TC_OCEAN, L_DEFEND_GOOD,
|
||
allow_gold_upkeep);
|
||
if (punittype) {
|
||
dai_unit_consider_bodyguard(ait, pcity, punittype, choice);
|