home *** CD-ROM | disk | FTP | other *** search
- ///////////////////////////////////////////////////////////////////////////////
- // UCP Data Structure
- // -------------------
- // Default Unit Construction Program Definition.
- // When no other task demands a Construction Program, build according
- // to this program.
- struct UNIT_CONSTRUCTION_PROGRAM
- {
- char account_name[80]; // The names of the budgetary accounts
- int budget; // How much money gets fed into account
- int max_reserve;
- };
-
- #define UNLIMITED -1
-
- #define YES 1
- #define NO 0
-
- // Targetting types: Low is simple, high is better
- #define TACTAI_LOW 0
- #define TACTAI_HIGH 2
-
- #define MAX_UCP_LENGTH 20
-
- ///////////////////////////////////////////////////////////////////////////////
- // ACCOUNT Data Structure
- // -------------------
- // Default Unit Construction Program Definition.
- // When no other task demands a Construction Program, build according
- // to this program.
- struct ACCOUNT
- {
- int priority; // What level of priority does this element have
- char item_name[80]; // What sort of thing should we buy/build?
- int build_type; // Do we want fixed amounts, ratios, or what?
- int build_amount; // How much of something (or what ratio) do we want.
- };
-
- #define NUMBER_TO_HAVE 0
- #define NUMBER_TO_BUILD 1
- #define RATIO_TO_BUILD 2
- #define RATIO_TO_HAVE 3
-
- #define MAX_ACCOUNT_LENGTH 50
-
-
- ///////////////////////////////////////////////////////////////////////////////
- // Force Matching Data Structure
- // -------------------
- // Unit Force matching modification definition.
- // All units in the game have a calculated unit strength which is roughly
- // (Damage_Dealt * Hitpoints)/Rate_of_fire (there is a minimum strength, too)
- // this allows the designer to assign coefficients to the strengths of particular
- // units (such as "Tachyon Tank" 2.0, which would double the apparent strength).
- struct FORCE_MATCHING
- {
- char unit_name[80]; // The name of the unit type
- float multiplier; // How much by which to multiply its strength
- };
-
- #define MAX_FORCE_MATCHING 100
-
-
- /////////////////////////////////////////////////////////////////////////////
- // BUILDING MATCHING
- // --------------\n"
- // Which buildings do we want to emphasize & target with this aip?
- // Note that this can be used for BOTH the AI team's unit strengths and
- // the opponents'
- // Where would we want to build the buildings if we could build them?
- /////////////////////////////////////////////////////////////////////////////
- struct BUILDING_MATCHING
- {
- char unit_name[80]; // The name of the unit type
- float multiplier; // How much by which to multiply its strength
- int build_pos; // How much by which to multiply its strength
- };
-
- #define MAX_BUILDINGS 100
-
- #define DONT_CARE 0
- #define CENTER_OF_BASE 1
- #define PERIMETER 2
- #define OUTSIDE_OF_BASE 3
- #define NEAR_ENEMY_BASE 4
- #define NEAR_ENEMY_TROOPS 5
-
-
- /////////////////////////////////////////////////////////////////////////////
- // UNIT_MATCH_UP
- // -------------
- // When we see a unit of one of the following types, build the corresponding
- // unit in the corresponding quantity
- /////////////////////////////////////////////////////////////////////////////
- struct UNIT_MATCH_UP
- {
- char unit_name[80]; // The name of the unit type
- char match_up_name[80]; // The name of the unit type
- float match_amount; // How much by which to multiply its strength
- };
-
-
-