Feature #1235 ยป 0037-AI-Pass-civ_map-to-kill_something_with.patch
| ai/default/daimilitary.c | ||
|---|---|---|
|   to carry a land attack unit, instead of the land attack unit itself. | ||
| **************************************************************************/ | ||
| static struct adv_choice *kill_something_with(struct ai_type *ait, | ||
|                                               const struct civ_map *nmap, | ||
|                                               struct player *pplayer, | ||
|                                               struct city *pcity, struct unit *myunit, | ||
|                                               struct adv_choice *choice) | ||
| ... | ... | |
|   struct adv_choice *best_choice; | ||
|   struct ai_city *city_data = def_ai_city_data(pcity, ait); | ||
|   struct ai_city *acity_data; | ||
|   struct civ_map *nmap = &(wld.map); | ||
|   best_choice = adv_new_choice(); | ||
|   best_choice->value.utype = unit_type_get(myunit); | ||
| ... | ... | |
|     virtualunit = unit_virtual_create( | ||
|       pplayer, pcity, punittype, | ||
|       city_production_unit_veteran_level(pcity, punittype)); | ||
|     choice = kill_something_with(ait, pplayer, pcity, virtualunit, choice); | ||
|     choice = kill_something_with(ait, nmap, pplayer, pcity, virtualunit, choice); | ||
|     unit_virtual_destroy(virtualunit); | ||
|   } | ||
| ... | ... | |
|   punittype = dai_choose_attacker(ait, nmap, pcity, TC_LAND, allow_gold_upkeep); | ||
|   if (punittype) { | ||
|     virtualunit = unit_virtual_create(pplayer, pcity, punittype, 1); | ||
|     choice = kill_something_with(ait, pplayer, pcity, virtualunit, choice); | ||
|     choice = kill_something_with(ait, nmap, pplayer, pcity, virtualunit, choice); | ||
|     unit_virtual_destroy(virtualunit); | ||
|   } | ||