Freeciv-3.2: /fast/freeciv/nightly/S3_2/ai/default/aihunt.h File Reference

Freeciv-3.2

Loading...
Searching...
No Matches
Functions
aihunt.h File Reference
`#include "support.h"`
`#include "fc_types.h"`

Go to the source code of this file.

## Functions

void | dai_hunter_choice (struct ai_type *ait, struct player *pplayer, struct city *pcity, struct adv_choice *choice, bool allow_gold_upkeep)
bool | dai_hunter_qualify (struct player *pplayer, struct unit *punit)
int | dai_hunter_manage (struct ai_type *ait, struct player *pplayer, struct unit *punit)

## Function Documentation

## ◆ dai_hunter_choice()

void dai_hunter_choice | ( | struct ai_type * | ait,
|  | struct player * | pplayer,
|  | struct city * | pcity,
|  | struct adv_choice * | choice,
|  | bool | allow_gold_upkeep
| ) |  |

Check if we want to build a hunter.

Definition at line 252 of file aihunt.c.

Referenced by military_advisor_choose_build().

## ◆ dai_hunter_manage()

int dai_hunter_manage | ( | struct ai_type * | ait,
|  | struct player * | pplayer,
|  | struct unit * | punit
| ) |  |

Manage a (possibly virtual) hunter. Return the want for building a hunter like this. If we return 0, then we have nothing to do with the hunter. If we return -1, then we succeeded, and can try again. If we return > 0 then we are hunting but ran out of moves (this is also used for construction want).

We try to keep track of our original target, but also opportunistically snatch up closer targets if they are better.

We set punit->server.ai->target to target's id.

Definition at line 436 of file aihunt.c.

Referenced by dai_manage_military(), and eval_hunter_want().

## ◆ dai_hunter_qualify()

bool dai_hunter_qualify | ( | struct player * | pplayer,
|  | struct unit * | punit
| ) |  |

Does this unit qualify as a hunter?

Definition at line 288 of file aihunt.c.

Referenced by dai_hunter_find(), dai_hunter_missile_want(), and dai_manage_military().