function GetUnitBonus takes unit u, integer bonus_type returns real
-> Returns the specified bonus amount for the unit
-> Example: set amount = GetUnitBonus(GetTriggerUnit(), BONUS_AGILITY)
function SetUnitBonus takes unit u, integer bonus_type, real amount returns real
-> Set the specified bonus type to amount for the unit
-> Example: call SetUnitBonus(GetTriggerUnit(), BONUS_DAMAGE, 100)
function RemoveUnitBonus takes unit u, integer bonus_type returns nothing
-> Removes the Specified bonus type from unit
-> Example: call RemoveUnitBonus(GetTriggerUnit(), BONUS_AGILITY)
function AddUnitBonus takes unit u, integer bonus_type, real amount returns real
-> Add the specified amount for the specified bonus tyte for unit
-> Example: call AddUnitBonus(GetTriggerUnit(), BONUS_DAMAGE, 100)
function AddUnitBonusTimed takes unit u, integer bonus_type, real amount, real duration returns nothing
-> Add the specified amount for the specified bonus type for unit for a duration
-> Example: call AddUnitBonusTimed(GetTriggerUnit(), BONUS_ARMOR, 13, 10.5)
function LinkBonusToBuff takes unit u, integer bonus_type, real amount, integer buffId returns nothing
-> Links the bonus amount specified to a buff or ability. As long as the unit has the buff or
-> the ability represented by the parameter buffId the bonus is not removed.
-> Example: call LinkBonusToBuff(GetTriggerUnit(), BONUS_ARMOR, 10, 'B000')
function LinkBonusToItem takes unit u, integer bonus_type, real amount, item i returns nothing
-> Links the bonus amount specified to an item. As long as the unit has that item the bonus is not removed.
-> Note that it will work for items with the same id, because it takes as parameter the item object.
-> Example: call LinkBonusToItem(GetManipulatingUnit(), BONUS_ARMOR, 10, GetManipulatedItem())
function UnitCopyBonuses takes unit source, unit target returns nothing
-> Copy the source unit bonuses using the Add functionality to the target unit
-> Example: call UnitCopyBonuses(GetTriggerUnit(), GetSummonedUnit())
function UnitMirrorBonuses takes unit source, unit target returns nothing
-> Copy the source unit bonuses using the Set functionality to the target unit
-> Example: call UnitMirrorBonuses(GetTriggerUnit(), GetSummonedUnit())
function RegisterBonusEvent takes code c returns nothing
-> Register code to run when any unit bonus is modified
-> Example: RegisterBonusEvent(function YourFunction)
function RegisterBonusTypeEvent takes integer bonus, code c returns nothing
-> Register code to run when a specific unit bonus is modified
-> Example: RegisterBonusTypeEvent(BONUS_DAMAGE, function YourFunction)
function GetBonusUnit takes nothing returns unit
-> Call this function to get the bonus event unit
function GetBonusType takes nothing returns integer
-> Call this function to get the bonus event type
function SetBonusType takes integer bonus returns nothing
-> Call this function to set the bonus event type
function GetBonusAmount takes nothing returns real
-> Call this function to get the bonus event amount
function SetBonusAmount takes real amount returns nothing
-> Call this function to set the bonus event amount
function GetUnitBonus(unit, type)
-> Returns the specified bonus amount for the unit
-> Example: set amount = GetUnitBonus(GetTriggerUnit(), BONUS_AGILITY)
function SetUnitBonus(unit, type, value)
-> Set the specified bonus type to amount for the unit
-> Example: call SetUnitBonus(GetTriggerUnit(), BONUS_DAMAGE, 100)
function RemoveUnitBonus(unit, type)
-> Removes the Specified bonus type from unit
-> Example: call RemoveUnitBonus(GetTriggerUnit(), BONUS_AGILITY)
function AddUnitBonus(unit, type, value)
-> Add the specified amount for the specified bonus tyte for unit
-> Example: call AddUnitBonus(GetTriggerUnit(), BONUS_DAMAGE, 100)
function AddUnitBonusTimed(unit, type, amount, duration)
-> Add the specified amount for the specified bonus type for unit for a duration
-> Example: call AddUnitBonusTimed(GetTriggerUnit(), BONUS_ARMOR, 13, 10.5)
function LinkBonusToBuff(unit, type, amount, buff)
-> Links the bonus amount specified to a buff or ability. As long as the unit has the buff or
-> the ability represented by the parameter buffId the bonus is not removed.
-> Example: call LinkBonusToBuff(GetTriggerUnit(), BONUS_ARMOR, 10, 'B000')
function LinkBonusToItem(unit, type, amount, item)
-> Links the bonus amount specified to an item. As long as the unit has that item the bonus is not removed.
-> Note that it will work for items with the same id, because it takes as parameter the item object.
-> Example: call LinkBonusToItem(GetManipulatingUnit(), BONUS_ARMOR, 10, GetManipulatedItem())
function UnitCopyBonuses(source, target)
-> Copy the source unit bonuses using the Add functionality to the target unit
-> Example: call UnitCopyBonuses(GetTriggerUnit(), GetSummonedUnit())
function UnitMirrorBonuses(source, target)
-> Copy the source unit bonuses using the Set functionality to the target unit
-> Example: call UnitMirrorBonuses(GetTriggerUnit(), GetSummonedUnit())
function RegisterBonusEvent(code)
-> Register code to run when any unit bonus is modified
-> Example: RegisterBonusEvent(function() YourFunctionc end)
function RegisterBonusTypeEvent(type, code)
-> Register code to run when a specific unit bonus is modified
-> Example: RegisterBonusTypeEvent(BONUS_DAMAGE, function() YourFunction end)
function GetBonusUnit()
-> Call this function to get the bonus event unit
function GetBonusType()
-> Call this function to get the bonus event type
function SetBonusType(type)
-> Call this function to set the bonus event type
function GetBonusAmount()
-> Call this function to get the bonus event amount
function SetBonusAmount(real)
-> Call this function to set the bonus event amount
function UnitCopyBonuses takes unit source, unit target returns nothing
function UnitMirrorBonuses takes unit source, unit target returns nothing