Freeciv-3.3
|
#include "log.h"
#include "combat.h"
#include "game.h"
#include "map.h"
#include "movement.h"
#include "player.h"
#include "pf_tools.h"
#include "unit.h"
#include "citytools.h"
#include "maphand.h"
#include "srv_log.h"
#include "unithand.h"
#include "unittools.h"
#include "advbuilding.h"
#include "advgoto.h"
#include "handicaps.h"
#include "daicity.h"
#include "daiplayer.h"
#include "daitools.h"
#include "daiunit.h"
#include "daiair.h"
Go to the source code of this file.
Macros | |
#define | PROB_MULTIPLIER 100 /* Should unify with those in combat.c */ |
Functions | |
static int | regen_turns (struct unit *punit, struct tile *ptile, int lost_hp) |
static struct tile * | find_nearest_airbase (struct unit *punit, struct pf_path **path) |
static bool | dai_should_we_air_attack_tile (struct ai_type *ait, struct unit *punit, struct tile *ptile) |
static adv_want | dai_evaluate_tile_for_air_attack (struct unit *punit, struct tile *dst_tile) |
static adv_want | find_something_to_bomb (struct ai_type *ait, struct unit *punit, struct pf_path **path, struct tile **pptile) |
static struct tile * | dai_find_strategic_airbase (struct ai_type *ait, struct unit *punit, struct pf_path **path) |
void | dai_manage_airunit (struct ai_type *ait, struct player *pplayer, struct unit *punit) |
bool | dai_choose_attacker_air (struct ai_type *ait, struct player *pplayer, struct city *pcity, struct adv_choice *choice, bool allow_gold_upkeep) |
bool dai_choose_attacker_air | ( | struct ai_type * | ait, |
struct player * | pplayer, | ||
struct city * | pcity, | ||
struct adv_choice * | choice, | ||
bool | allow_gold_upkeep | ||
) |
Chooses the best available and usable air unit and records it in choice, if it's better than previous choice The interface is somewhat different from other ai_choose, but that's what it should be like, I believe – GB
Definition at line 583 of file daiair.c.
Referenced by military_advisor_choose_build().
|
static |
Returns an estimate for the profit gained through attack. Assumes that the victim is within one day's flight
Definition at line 164 of file daiair.c.
Referenced by find_something_to_bomb().
|
static |
Iterates through reachable refuel points and appraises them as a possible base for air operations by (air)unit punit. Returns NULL if not found (or we just should stay here). The path is stored in the path argument if not NULL.
Definition at line 318 of file daiair.c.
Referenced by dai_manage_airunit().
Trying to manage bombers and stuff. If we are in the open { if moving intelligently on a valid GOTO, { carry on doing it. } else { go refuel } } else { try to attack something } TODO: distant target selection, support for fuel > 2
Definition at line 487 of file daiair.c.
Referenced by dai_manage_airunit(), and dai_manage_unit().
|
static |
Very preliminary estimate for our intent to attack the tile (x, y). Used by bombers only.
Definition at line 139 of file daiair.c.
Referenced by find_something_to_bomb().
Looks for nearest airbase for punit reachable immediately. Returns NULL if not found. The path is stored in the path argument if not NULL. If the unit is damaged, flies to an airbase that can repair the unit in a minimal number of turns. FIXME: consider airdrome safety. Can lure enemy bombers to a spare airdrome next to our rifles. TODO: Special handicaps for planes running out of fuel IMO should be less restrictive than general H_MAP, H_FOG
Definition at line 87 of file daiair.c.
Referenced by dai_manage_airunit().
|
static |
Find something to bomb Air-units specific victim search Returns the want for the best target. The targets are stored in the path and pptile arguments if not NULL. TODO: take counterattack dangers into account TODO: make separate handicaps for air units seeing targets IMO should be more restrictive than general H_MAP, H_FOG
Definition at line 248 of file daiair.c.
Referenced by dai_choose_attacker_air(), dai_find_strategic_airbase(), and dai_manage_airunit().
How fast does a unit regenerate at another tile after moves to it. Kludgy function worth some generalization.
Definition at line 56 of file daiair.c.
Referenced by dai_find_strategic_airbase(), and find_nearest_airbase().