WeaponType¶
-
class
BWAPI.WeaponType¶ 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.
See also
Constructors
-
WeaponType([id = WeaponTypes.Enum.None])¶ Expected type constructor.
If the type is an invalid type, then it becomes
Unknown. A type is invalid if its value is less than 0 or greater thanUnknown.Parameters: id (int) – The id that corresponds to this type. It is typically an integer value that corresponds to an internal Broodwar type. If the given id is invalid, then it becomes Unknown.
Member Functions
-
getID() → int¶ Retrieves this type’s identifier as an integer.
Returns: An integer representation of this type. Return type: int
-
isValid() → boolean¶ Checks if the current type has a valid identifier. The purpose of this function is to prevent buffer overflows if a type has been handled improperly.
A type is valid if it is between 0 and Unknown (inclusive).
Returns: trueif this type is valid andfalseotherwise.Return type: boolean
-
getName() → string¶ Returns: The variable name of the type. Return type: string
-
damageAmount() → int¶ Retrieves the base amount of damage that this weapon can deal per attack.
Returns: Amount of base damage that this weapon deals. Return type: int Note
That this damage amount must go through a
DamageTypeandUnitSizeTypefilter before it is applied to a unit.
-
damageBonus() → int¶ Determines the bonus amount of damage that this weapon type increases by for every upgrade to this type.
Returns: Amount of damage added for every weapon upgrade. Return type: int See also
-
damageCooldown() → int¶ Retrieves the base amount of cooldown time between each attack, in frames.
Returns: The amount of base cooldown applied to the unit after an attack. Return type: int
-
damageFactor() → int¶ Obtains the intended number of missiles/attacks that are used.
This is used to multiply with the damage amount to obtain the full amount of damage for an attack.
Returns: The damage factor multiplied by the amount to obtain the total damage. Return type: int See also
-
damageType() → DamageType¶ Retrieves the damage type that this weapon applies to a unit type.
Returns: DamageTypeused for damage calculation.Return type: BWAPI.DamageTypeSee also
-
explosionType() → ExplosionType¶ Retrieves the explosion type that indicates how the weapon deals damage.
Returns: ExplosionTypeidentifying how damage is applied to a target location.Return type: BWAPI.ExplosionType
-
getTech() → TechType¶ Retrieves the technology type that must be researched before this weapon can be used.
Returns: TechTyperequired by this weapon. ReturnsTechTypes.Noneif no tech type is required to use this weapon.Return type: BWAPI.TechTypeSee also
-
innerSplashRadius() → int¶ Retrieves the inner radius used for splash damage calculations, in pixels.
Returns: Radius of the inner splash area, in pixels. Return type: int
-
maxRange() → int¶ Retrieves the maximum attack range of the weapon, measured in pixels.
Returns: Maximum attack range, in pixels. Return type: int
-
medianSplashRadius() → int¶ Retrieves the middle radius used for splash damage calculations, in pixels.
Returns: Radius of the middle splash area, in pixels. Return type: int
-
minRange() → int¶ Retrieves the minimum attack range of the weapon, measured in pixels.
This value is 0 for almost all weapon types, except for
WeaponTypes.Arclite_Shock_CannonandWeaponTypes.Arclite_Shock_Cannon_Edmund_Duke.Returns: Minimum attack range, in pixels. Return type: int
-
outerSplashRadius() → int¶ Retrieves the outer radius used for splash damage calculations, in pixels.
Returns: Radius of the outer splash area, in pixels. Return type: int
-
targetsAir() → boolean¶ Checks if this weapon type can target air units.
Returns: true if this weapon type can target air units, and false otherwise. Return type: boolean See also
-
targetsGround() → boolean¶ Checks if this weapon type can target ground units.
Returns: true if this weapon type can target ground units, and false otherwise. Return type: boolean See also
-
targetsMechanical() → boolean¶ Checks if this weapon type can only target mechanical units.
Returns: true if this weapon type can only target mechanical units, and false otherwise. Return type: boolean See also
-
targetsNonBuilding() → boolean¶ Checks if this weapon type cannot target structures.
Returns: true if this weapon type cannot target buildings, and false if it can. Return type: boolean See also
-
targetsNonRobotic() → boolean¶ Checks if this weapon type cannot target robotic units.
Returns: true if this weapon type cannot target robotic units, and false if it can. Return type: boolean See also
-
targetsOrganic() → boolean¶ Checks if this weapon type can only target organic units.
Returns: true if this weapon type can only target organic units, and false otherwise. Return type: boolean See also
-
targetsOrgOrMech() → boolean¶ Checks if this weapon type can only target organic or mechanical units.
Returns: true if this weapon type can only target organic or mechanical units, and false otherwise. Return type: boolean
-
targetsOwn() → boolean¶ Checks if this weapon type can only target units owned by the same player.
This is used for
WeaponTypes.Consume.Returns: true if this weapon type can only target your own units, and false otherwise. Return type: boolean See also
-
targetsTerrain() → boolean¶ Checks if this weapon type can target the ground.
Returns: true if this weapon type can target a location, and false otherwise. Return type: boolean Note
This is more for attacks like Psionic Storm <BWAPI.TechTypes.Psionic_Storm> which can target a location, not to be confused with attack move.
-
upgradeType() → UpgradeType¶ Retrieves the upgrade type that increases this weapon’s damage output.
Returns: The UpgradeTypeused to upgrade this weapon’s damage.Return type: BWAPI.UpgradeTypeSee also
-
whatUses() → UnitType¶ Retrieves the unit type that is intended to use this weapon type.
Returns: The UnitTypethat uses this weapon.Return type: BWAPI.UnitTypeNote
There is a rare case where some hero unit types use the same weapon.
See also
-
WeaponTypeset¶
-
class
BWAPI.WeaponTypeset¶ A container for a set of
WeaponTypeobjects.Constructors
-
WeaponTypeset()¶ Default constructor.
-
WeaponTypeset(set) Copy constructor.
Parameters: set (BWAPI.WeaponTypeset) – The WeaponTypeset to copy.
-
WeaponTypeset(tbl) Constructor to convert a Lua table to a set. Any values in the table that are of type
WeaponTypeare added to the set.Parameters: tbl (table) – A table containing WeaponTypeobjects.
Member Functions
-
iterator() → iteratorFunction¶ Returns an iterator function intended to be used in
forloops (e.g.for item in set:iterator() do).Returns: An iterator function that will return the next value in the set with each successive call. Return type: function
-
asTable() → table¶ Returns the values of the set as an array-like Lua table.
Note
The ordering of the returned table is arbitrary (due to sets being unordered in the C++ implementation).
Returns: An array-like Lua table containing each value in the set. Return type: table
-
count(val) → int¶ Searches the set for elements with a value of
valand returns the number of elements found. Because sets do not allow for duplicate values, this means that the function will return either1or0. Because of this, it’s recommended to usecontains()instead.See also
-
contains(val) → boolean¶ Checks if this set contains a specific value.
Returns: trueif the set contains the specified value, orfalseotherwise.Return type: boolean
-
size() → int¶ Returns: The number of values in the set. Return type: int Note
set:size()is exactly equivalent to#set
-
empty() → boolean¶ Returns: trueif the set is empty (size() == 0), orfalseotherwise.Return type: boolean
-
insert(val)¶ Inserts the value into the set.
Note
Sets cannot contain duplicate values. If the value already exists in the set, the set will not be modified.
-
erase(val) → numElementsErased¶ Removes
valfrom the set if it exists.Returns: The number of elements removed. Because sets do not allow for duplicate values, this means that the function will return either 1or0.Return type: int
-
clear()¶ Removes all elements from the set, leaving it with a size of 0.
-
eraseIf(pred)¶ Iterates the set and erases each element x where pred(x) returns true. The set is modified in place.
Parameters: pred (function) – A predicate function that takes a value and returns truefor values that should be erased andfalseotherwise.
-
filter(pred)¶ Iterates the set and erases each element x where pred(x) returns false. The set is modified in place.
Parameters: pred (function) – A predicate function that takes a value and returns truefor values that should be kept andfalsefor elements that should be erased.
-