AIModule is a virtual class that is intended to be implemented or inherited by a
custom AI class. The Broodwar interface is guaranteed to be initialized if any of
these predefined interface functions are invoked by BWAPI.
The BestFilter is used to compare two objects with each other. Each
function object compares two of the same object and returns the most desirable one.
The CompareFilter is a container in which a stored function predicate returns a
value. Arithmetic and bitwise operators will return a new CompareFilter that
applies the operation to the result of the original functor. If any relational operators are
used, then it creates a UnaryFilter that returns the result of the operation.
Damage types are used in Broodwar to determine the amount of damage that will be
done to a unit. This corresponds with UnitSizeType to determine the damage done to
a unit.
The abstract Game class is implemented by BWAPI and is the primary means of obtaining all
game state information from Starcraft Broodwar. Game state information includes all units,
resources, players, forces, bullets, terrain, fog of war, regions, etc.
The interface event is an attachment to BWAPI interfaces which allows the user to
register powerful conditional callbacks that can be executed a user-specified number of
times.
An Order (Order type) represents a Unit's current action and can be retrieved with
UnitInterface::getOrder. It can also be used to identify the current state of the
unit during command execution (gathering minerals can consist of Orders::MoveToMinerals,
Orders::WaitForMinerals, Orders::MiningMinerals, etc.).
The Player represents a unique controller in the game. Each player in
a match will have his or her own player instance. There is also a neutral player which owns
all the neutral units (such as mineral patches and vespene geysers).
Region objects are created by Starcraft: Broodwar to contain several tiles with the same
properties, and create a node in pathfinding and other algorithms. Regions may not contain
detailed information, but have a sufficient amount of data to identify general chokepoints,
accessibility to neighboring terrain, be used in general pathing algorithms, and used as
nodes to rally units to.
The TechType (or Technology Type, also referred to as an Ability) represents a Unit's ability
which can be researched with UnitInterface::research or used with UnitInterface::useTech.
In order for a Unit to use its own specialized ability, it must first be available and researched.
TournamentModule is a virtual class that is intended to be implemented or inherited
by a custom Tournament class. Like AIModule, the Broodwar interface is guaranteed
to be initialized if any of these predefined interface functions are invoked by BWAPI.
A representation of a unit command in BWAPI. This is used by bots to
notify BWAPI which commands to use. BWAPI filters commands accordingly and then converts
them to Broodwar commands, which differ in complexity.
The Unit class is used to get information about individual units as well as issue
orders to units. Each unit in the game has a unique Unit object, and Unit objects
are not deleted until the end of the match (so you don't need to worry about unit pointers
becoming invalid).
Size types are used by unit types in Broodwar to determine how much damage will be
applied. This corresponds with DamageType for several different damage reduction
applications.
The Unitset is a container for a set of pointers to Unit objects. It is typically
used for groups of units instead of having to manage each Unit individually.
This object identifies a weapon type used by a unit to attack and deal damage.
Some weapon types can be upgraded while others are used for special abilities.
A constructor that uses the color index in the palette that is closest to the
given rgb values. On its first call, the colors in the palette will be sorted
for fast indexing.