#ifndef __AIORDERS_H #define __AIORDERS_H #include "types.h" #include "shipselect.h" #include "aiUtilities.h" /*============================================================================= Constant Definitions: =============================================================================*/ #define RECON_STANDOFF_DISTANCE 15000 #define HARASS_STANDOFF_DISTANCE 25000 #define HARASS_LIGHTINT_INITNUM 15 #define HARASS_LIGHTINT_REPLACE 12 #define HARASS_HEAVYINT_EQUIVNUM 14 #define HARASS_BOMBER_EQUIVNUM 14 /*============================================================================= Structures: =============================================================================*/ typedef enum { RECON_MOTHERSHIP, RECON_ACTIVE_GENERAL, RECON_ACTIVE_ENEMY, NUM_RECONTYPE } ReconType; typedef enum { SUPPORT_STRIKECRAFT, SUPPORT_RESOURCE, SUPPORT_MOTHERSHIP, NUM_SUPPORTTYPE } SupportType; void aioCreateGuardShips(struct AITeam *team, SelectCommand *ships); void aioCreateReconaissance(struct AITeam *team, ReconType type); void aioCreateTakeoutTarget(struct AITeam *team,Ship *target); void aioCreateHarass(struct AITeam *team); void aioCreateTakeoutMothershipFast(struct AITeam *team,Ship *mothership); void aioCreateTakeoutMothershipGuard(struct AITeam *team,Ship *mothership); void aioCreateTakeoutMothershipHuge(struct AITeam *team, Ship *mothership); void aioCreateTakeoutMothershipBig(struct AITeam *team,Ship *mothership, bool ForceBig); void aioCreateTakeoutTargetsWithCurrentTeam(struct AITeam *team,SelectCommand *targets); void aioCreateTakeoutTargetWithCurrentTeam(struct AITeam *team,Ship *ship); void aioCreateFancyTakeoutTarget(struct AITeam *team,Ship *target); void aioCreateDefendMothership(struct AITeam *team); void aioCreatePatrol(struct AITeam *team, Path *path); void aioCreateFastRovingDefense(struct AITeam *team); void aioCreateSlowRovingDefense(struct AITeam *team); void aioCreateActiveSupport(struct AITeam *team, SelectCommand *ships, SupportType type); void aioCreateFighterStrike(struct AITeam *team); void aioCreateCorvetteStrike(struct AITeam *team); void aioCreateFrigateStrike(struct AITeam *team); void aioCreateResourcer(struct AITeam *team); void aioCreateCapture(struct AITeam *team); void aioCreateMine(struct AITeam *team); void aioCreateSpecialDefense(struct AITeam *team, ShipType type); void aioCreateSwarmAttack(struct AITeam *team); void aioCreateSwarmDefense(struct AITeam *team, SelectCommand *Pod); void aioCreateSwarmSupport(struct AITeam *team); void aioCreateMultiBeamAttack(struct AITeam *team); void aioCreateP2MothershipAttack(struct AITeam *team); #endif