00001
00002
00003
00004
00005
00006
00007
00008
00021 namespace Xconq {
00022 namespace AI {
00023
00025 enum TacticalConcern {
00027 TC_NONE = 0,
00029 TC_DANGER_IMMEDIATE,
00031 TC_Total
00032 };
00033
00034
00035
00037 extern int n_plan_to_construct_at(
00038 Side *side, int x, int y, short *p_utypes = NULL);
00039
00040
00041
00043 extern int resource_contention_with_any(int u, int x, int y, Side *side);
00044
00045
00046
00048 extern int choose_best_hit_method(
00049 int hitmethod, int fhm, int ahm, int dhm, int ftm, int atm, int dtm);
00051 extern int choose_best_hit_method(Unit *unit, UnitView *uview);
00053 extern int guess_best_hit_method_used_by(Unit *unit, UnitView *uview);
00054
00056 extern int choose_best_capture_method(
00057 int capmethod, int fcm, int acm, int dccm, int ftm, int atm, int dctm);
00059 extern int choose_best_capture_method(Unit *unit, UnitView *uview);
00061 extern int guess_best_capture_method_used_by(Unit *unit, UnitView *uview);
00062
00063
00064
00066 extern int seems_safe_against(Unit *unit, UnitView *uview);
00068 extern int is_frightened_by(Unit *unit, UnitView *uview);
00070 extern int is_harassed_by(Unit *unit, UnitView *uview);
00072 extern int choose_flee_direction(
00073 Unit *unit, int feardirs [NUMDIRS + 1], int hardirs [NUMDIRS + 1]);
00074
00076
00085 extern TacticalConcern handle_immediate_danger(Unit *unit);
00086
00087
00088
00090 extern TacticalConcern handle_tactical_situation(Unit *unit);
00091
00092 }
00093 }