Trigger API Reference\DCEI Events\Weapon
TriggerHandle TriggerAddUseWeaponEvent(unit unit, TypedCallback<unit, Float2> trigger, bool simple = False, WeaponFilter filter = default)
TriggerHandle TriggerAddUseWeaponEvent(unit unit, TypedCallback<unit, Float2> trigger, bool simple = False, WeaponFilter filter = default)
Description
This event is triggered whenever a weapon is used. This function can also pass the the target unit and target location as parameters to the callback function.
Parameters
- unit
unit
the unit that triggers this event. - TypedCallback<unit, Float2>
trigger
the callback function that is run when the event is triggered. - bool
simple
this flag reduces overhead by preventing the usage of DCEI.Wait() within the trigger. You should only set this to true if the trigger does not use DCEI.Wait(). - WeaponFilter
filter
could make this event only trigger on certain weapons
Callback Parameters
- Unit
target_unit
- Float2
target_position
Example Usage
local function OnUnitUseWeapon(target_unit, target_pos)
local unit = DCEI.TriggeringUnit
local unit_name = DCEI.GetUnitType(unit)
local weapon = DCEI.TriggeringWeaponName
DCEI.LogMessage(unit_name .. " has attacked with " .. weapon ..".")
local target_name = DCEI.GetUnitType(target_unit)
DCEI.LogMessage("Target: " .. target_name .. " at (" .. target_pos.x .. ", " .. target_pos.y .. ")")
end
DCEI.TriggerAddUseWeaponEvent(DCEI.CreateUnitFilter({name = DCEI.Unit("Test Unit")}), OnUnitUseWeapon, true)