Trigger API Reference DCEI Events Behavior0 - BLKTower/TestWiki GitHub Wiki

Table of Contents

Trigger API Reference\DCEI Events\Behavior {Trigger-API-ReferenceDCEI-EventsBehavior}

void TriggerAddBehaviorAddEvent(unit unit, TypedCallback<EffectContext> trigger, bool simple, BehaviorFilter filter) {void-TriggerAddBehaviorAddEventunit-unit-TypedCallbackEffectContext-trigger-bool-simple-BehaviorFilter-filter}

void TriggerAddBehaviorAddEvent(unit unit, TypedCallback<EffectContext> trigger, bool simple, BehaviorFilter filter)

Description

This event triggers when a behavior is added to a unit. This function can also pass the effect context as a parameter to the callback function.

Parameters

  • unit unit the unit that triggers this event. Use DCEI.UnitAny to trigger this event for any unit.
  • object 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().
  • BehaviorFilter filter could make this event only trigger on certain behaviors

Callback Parameters

  • EffectContext effect_context

Example Usage

DCEI.TriggerAddBehaviorAddEvent(DCEI.UnitAny, OnUnitBehaviorAdd, true)

function OnUnitBehaviorAdd(effect_context)
    local name = DCEI.TriggeringBehaviorName
    local u = DCEI.TriggeringUnit
    local unit_type = DCEI.UnitType(u)
    local stacks = UnitBehaviorStackCount(u, name)
    DCEI.LogMessage(unit_type .. " had " .. name .. " added for a total of " .. stacks .. " stacks.")
end

Related

void TriggerAddBehaviorExpireEvent(unit unit, TypedCallback trigger, bool simple, BehaviorFilter filter) {void-TriggerAddBehaviorExpireEventunit-unit-TypedCallback-trigger-bool-simple-BehaviorFilter-filter}

void TriggerAddBehaviorExpireEvent(unit unit, TypedCallback trigger, bool simple, BehaviorFilter filter)

Description

This event triggers when a behavior expires on a unit.

Parameters

  • unit unit the unit that triggers this event. Use DCEI.UnitAny to trigger this event for any unit.
  • object 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().
  • BehaviorFilter filter could make this event only trigger on certain behaviors

Example Usage

function OnUnitBehaviorExpire()
    local name = DCEI.TriggeringBehaviorName
    local u = DCEI.TriggeringUnit
    local unit_type = DCEI.UnitType(u)
    DCEI.LogMessage(unit_type .. " lost " .. name .. " .")
end

DCEI.TriggerAddBehaviorExpireEvent(DCEI.UnitAny, OnUnitBehaviorExpire, true)

Related

void TriggerAddBehaviorDisabledEvent(unit unit, TypedCallback trigger, bool simple, BehaviorFilter filter) {void-TriggerAddBehaviorDisabledEventunit-unit-TypedCallback-trigger-bool-simple-BehaviorFilter-filter}

void TriggerAddBehaviorDisabledEvent(unit unit, TypedCallback trigger, bool simple, BehaviorFilter filter)

Description

This event triggers when a unit has a behavior on it is disabled. Use TriggeringBehaviorName to get the behavior that triggered the event.

Parameters

  • unit unit the unit that triggers this event. Use DCEI.UnitAny to trigger this event for any unit.
  • object 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().
  • BehaviorFilter filter could make this event only trigger on certain behaviors

Example Usage

function OnUnitBehaviorDisable()
    local name = DCEI.TriggeringBehaviorName
    local u = DCEI.TriggeringUnit
    local unit_type = DCEI.UnitType(u)
    local stacks = UnitBehaviorStackCount(u, name)
    DCEI.LogMessage(stacks .. " stacks of " .. name .. " no long have any effect on " .. unit_type ..".")
end

DCEI.TriggerAddBehaviorDisabledEvent(DCEI.UnitAny, OnUnitBehaviorDisable, true)

Related

void TriggerAddBehaviorEnabledEvent(unit unit, TypedCallback trigger, bool simple, BehaviorFilter filter) {void-TriggerAddBehaviorEnabledEventunit-unit-TypedCallback-trigger-bool-simple-BehaviorFilter-filter}

void TriggerAddBehaviorEnabledEvent(unit unit, TypedCallback trigger, bool simple, BehaviorFilter filter)

Description

This event is triggered when a unit has a behavior on it enabled. Use TriggeringBehaviorName to figure out which behavior triggered the event.

Parameters

  • unit unit the unit that triggers this event. Use DCEI.UnitAny to trigger this event for any unit.
  • object 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().
  • BehaviorFilter filter could make this event only trigger on certain behaviors

Example Usage

function OnUnitBehaviorEnable()
    local name = DCEI.TriggeringBehaviorName
    local u = DCEI.TriggeringUnit
    local unit_type = DCEI.UnitType(u)
    local stacks = UnitBehaviorStackCount(u, name)
    DCEI.LogMessage(stacks .. " stacks of " .. name .. " on " .. unit_type .. " now work.")
end

DCEI.TriggerAddBehaviorEnabledEvent(DCEI.UnitAny, OnUnitBehaviorEnable, true)

Related

void TriggerAddBehaviorRemoveEvent(unit unit, TypedCallback trigger, bool simple, BehaviorFilter filter) {void-TriggerAddBehaviorRemoveEventunit-unit-TypedCallback-trigger-bool-simple-BehaviorFilter-filter}

void TriggerAddBehaviorRemoveEvent(unit unit, TypedCallback trigger, bool simple, BehaviorFilter filter)

Description

This event is triggered when a unit has a behavior on it removed.

Parameters

  • unit unit the unit that triggers this event. Use DCEI.UnitAny to trigger this event for any unit.
  • object 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().
  • BehaviorFilter filter could make this event only trigger on certain behaviors

Example Usage

function OnUnitBehaviorRemove()
    local name = DCEI.TriggeringBehaviorName
    local u = DCEI.TriggeringUnit
    local unit_type = DCEI.UnitType(u)
    DCEI.LogMessage(name .. " was removed from " .. unit_type .. ".")
end

DCEI.TriggerAddBehaviorRemoveEvent(DCEI.UnitAny, OnUnitBehaviorRemove, true)

Related

⚠️ **GitHub.com Fallback** ⚠️