###############################################################################
#SCRIPT FOR STANDARD AI PLAYER
#
# There are many possible settings for the standard player. These are grouped
# in the following ways:
#
# Unit Type Lists: Units which will perform various functions
# Strategic Values: Minimum and maximms used in decision making
# Conditional Values: Values mapped to unit types to influence the
# decision making process
# Rules Of Engagement: Rules for reacting to enemy units
#
#
#
# Each data line starts with: [data topic][values][...]
#
# format is [specifier][data][more data][...]
#
#
# Exploration
# SAI_UT_AIR_EXPLORE - Air Units Used in exploration
# SAI_UT_LAND_EXPLORE - Land units used in exploration
# SAI_UT_GRND_EXPLORE - ground units used for exploration
# (can traverse both sea and land)
# SAI_UT_SEA_EXPLORE - sea units used in exploration
# SAI_NUM_LAND_UNITS_EXP - number of land units to explore per land mass
# SAI_NUM_SEA_SQ_PER_EXP - size of sea mass for each explorer
# SAI_NUM_LAND_UNITS_EXP_SIZE - size of land mass for additional explorer
#
# Early Exploration
# SAI_UT_EARLY_CQ - attacking units to be produced
# SAI_UT_EARLY_TR - early transport types
# SAI_UT_EARLY_EX - early explorer types
# SAI_PRI_EXP_CITY_CRITERIA - number of cities visible before initial land
# mass explore ends
# SAI_PRI_EXP_LAND_CRITERIA - number of initial land mass squares visible before
# initial land mass exploration ends
# SAI_NUM_ADD_CITIES - city factor in adding air explorers
#
# General 'Onshore' and 'Offshore' Missions
# SAI_DIR_ASSAULT_PER - percentage of direct assult on target
# SAI_NUM_OFFSHORE_SUPP_REG - number offshore regular support
# SAI_NUM_OFFSHORE_SUPP_MAX - number of offshore maximum support
# SAI_NUM_NAVAL_SUPP_REG - number of navy support units
# SAI_NUM_NAVAL_SUPP_MAX - max number of navy support units
# SAI_LOSSES_RANGE - losses factor in deciding when to hold a tr for more units
# SAI_EVAL_START - counter to re-eval missions
#
# Neutral Capture
# SAI_UT_NEUT_CAP_ATT - units which can capture a neutral city type
# SAI_UT_NEUT_CAP_ATT4TR - units which can be staged for neutral attacks
# SAI_UT_NEUT_CAP_TR - transports that can carry neutral attackers
# SAI_NEUTRAL_OFFSHORE_LIMIT - limit of offshore neutral misisons
# SAI_NUM_NEUTRAL_ATTACKERS - number of neutral attackers per mission
# SAI_NEUT_TRANSPORTS_MAX - max number of trs used in a mission
# SAI_NEUT_TRANSPORTS_REG - regular number of TR's used in a mission
#
# Enemy Capture
# SAI_UT_ENEMY_CAP_ATT - units which can perform an enemy capture
# SAI_UT_ENEMY_CAP_ATT4TR - enemy capture units that can be staged
# SAI_UT_ENEMY_CAP_TR - transports for enemy capture units
# SAI_UT_ENEMY_CAP_AIR_SUPPORT - air support units for enemy captures
# SAI_UT_ENEMY_CAP_LAND_SUPPORT - land support units for enemy captures
# SAI_UT_ENEMY_CAP_SEA_SUPPORT - sea support units for enemy captures
# SAI_NUM_ENEMY_CAP_ATTACKERS - number of enemy capture attackers
# SAI_OFFSHORE_ENEMY_CAP_LIMIT - offshore enemy capture mission limit
# SAI_ENEMY_TRANSPORTS_MAX - max number of trs used in a mission
# SAI_ENEMY_TRANSPORTS_REG - regular number of TR's used in a mission
#
# Production Drain Considerations
# SAI_UT_PROD_HALT - unit types whose production can be cancelled in
# the name of the drain
# SAI_UT_UNIT_DISBAND - unit types which can be disbanded in the name
# of the drain
# SAI_DRAIN_LIMIT - drain limiter used in various calculations
# SAI_PRESERVE_PROD - settings where production cannot be changed if
# the number of turns under value
# SAI_PM_PROD_TOLERANCE - drain tolerance before no production is allowed
# SAI_PM_IDLE_TOLERANCE - used for disbanding units when over drain
# SAI_PM_EXTRA_PROD_TOLERANCE - used for determining when 'pares' can be produced
# SAI_SPARE_TYPES - ordered spare types list for production
#
# Various Unit Roles
# SAI_UT_SATELLITE - units to perform satellite roles
# SAI_UT_ROCKET - units to perform missile roles
# SAI_UT_NUKE - units to perform nuke roles
# SAI_UT_ENGINEER - units to perform engineering roles
# SAI_UT_SUPPLY - units to perform supply roles
# SAI_UT_RES_FAC - units to perform resource roles
# SAI_UT_PORTS - units to perform port roles
# SAI_UT_BASE - units to perform base roles
# SAI_UT_FORT - units to perform fort roles
#
# Carrier Groups
# SAI_UT_CARRIER - units to perform carrier roles
# SAI_UT_CARRIER_GROUP - units to be part of a carrier group
# SAI_UT_CARRIER_ESCORTS - units to perform escorting duties for carriers
# SAI_CARRIER_PORTAGE - portage amount a carrier wants to carry
#
# Subs
# SAI_UT_SUBS - sub units
# SAI_UT_SUB_SURFACE surface sub units
# SAI_UT_SUB_SUBMERGED - submerged sub units
# SAI_UT_SUB_DEEP - deep sub units
# SAI_UT_SUB_TARGETS - sub targets
# SAI_SUBMERGE_TOLERANCE - rnage near sighting to submerge
# SAI_SUB_LURK_RANGE - lurk around sighting range
# SAI_SUB_STALK_COUNT - enemy notice range
# SAI_SUB_EVADE_COUNT - number of turns to hide when evading
# SAI_SUB_SURFACE_RANGE - range before a sub surfaces heading home
#
# Placement and Buypoint selection
# SAI_UT_SELECTION - what units to select on a map
# SAI_UT_PLACEMENT - where units can be placed
# SAI_BUYPOINT_TYPES - buypoint type buying list
#
# Misc Missions
# SAI_NEXT_CAP_PROD - units to produce in a capital
# SAI_NEXT_IMP_PROD - units to produce in an important city
# SAI_UT_CITY_RETAKE - units which can retake cities (when there are none owned)
# SAI_MAX_BASE_RANGE - maximum range from a city before a base is built
# SAI_MIN_BASE_RANGE - minimum range from a city before a base is built
# SAI_MISSION_REVIEW_FUDGE - factor that helps AI determine how many missions to
# review, multiplied times his number of cities
#
# Misc Unit
# SAI_EVADE_DIST - distance to try to run if evading
# SAI_NEEDS_REPAIR - hits below which a unit needs repair
#
# Reactions
# SAI_THREAT_TOLERANCE - range at which a threat is acted on
# SAI_THREAT_EVAL_DISTANCE - max distance at which a threat can be acted upon
# SAI_THREAT_AGE - max sighting age that will spark a reaction
#
# Player Names
# SAI_PLAYER_NAMES - name list the AI uses when playing
#
#
# ROE - Rules of Engagement
# These are a list of rules that are evaluated IN ORDER. If a rule is true, the
# action is returned. If none of the conditions are met, the default action is returned
# (The default - default action is no action).
#
# Conditions Codes
# LVL - level (string code value)
# (EQ and NE operators only apply)
# SB - sub
# GR - ground
# OF - overflight
# OB - orbital
# RE - reentry
#
# DIS - distance (numeric code value)
#
# RNG - attributes (string code value)
# FRNG - distance vs. range firing range
#
# DMG - value vs. current hits
#
# TYPE - unit type (string code value)
# (EQ and NE operators only apply)
#
# PLY - player type(string code value)
# (EQ and NE operators only apply)
# NEUT - neutral
# MAN - human
# COMP - computer
#
# PEFF - production efficiency
#
# HOST - unit is cargo (bool string code T/F, operator code ignored)
# UNIT - unit has cargo (bool string code T/F, operator code ignored)
#
#
# Comparative Operators
# EQ equal
# NE not equal
# LT less than
# LE less than or equal to
# GT greater than
# GE greater than or equal to
#
# Actions
# NA - no action
# ME - move engage
# FE - fire engage
# EV - evade
#
# And or Or Value
# A - and is used
# O - or is used
#
# SAI_ROE - a rule of engagement
# ROE order Syntax for SAI_ROE:
# [<roe type>][<unit type>][(<And or Or Value>) <CONDITION SETS>][<Action>]
# Where CONDITONS SETS is any number of the following triplets
# (<condition code>)(<operator>)(<code value>)
#
# SAI_ROE_PRI - priority setting for encountering a type
# syntax: [<roe type>][<unit type>][<sight type>][<priority value>]
#
# SAI_ROE_DEF - default ROE when conditions don't apply
# syntax: [<roe type>][<unit type>][<action>]