Trigger API Reference\DCEI Events\Behavior

TriggerHandle TriggerAddBehaviorStackIncreaseEvent(unit unit, TypedCallback<EffectContext, int> trigger, bool simple = False, BehaviorFilter filter = default)

TriggerHandle TriggerAddBehaviorStackIncreaseEvent(unit unit, TypedCallback<EffectContext, int> trigger, bool simple = False, BehaviorFilter filter = default)

Description


This event triggers when a behavior's stack count increase. This function can also pass the effect context and stack count delta as parameters to the callback function.

Parameters

Callback Parameters

Example Usage

function OnUnitBehaviorIncrease(effect_context, stack_count_delta)
    local name = DCEI.TriggeringBehaviorName
    local u = DCEI.TriggeringUnit
    local unit_type = DCEI.GetUnitType(u)
    DCEI.LogMessage(unit_type .. " behavior " .. name .. " increased for a total of " .. stack_count_delta .. " stacks.")
end

DCEI.TriggerAddBehaviorStackIncreaseEvent(DCEI.CreateUnitFilter({name = DCEI.Unit("Test Unit")}), OnUnitBehaviorIncrease, true)

TriggerHandle TriggerAddBehaviorStackDecreaseEvent(unit unit, TypedCallback<EffectContext, int> trigger, bool simple = False, BehaviorFilter filter = default)

TriggerHandle TriggerAddBehaviorStackDecreaseEvent(unit unit, TypedCallback<EffectContext, int> trigger, bool simple = False, BehaviorFilter filter = default)

Description


This event triggers when a behavior's stack count decrease. This function can also pass the effect context and stack count delta as parameters to the callback function.

Parameters

Callback Parameters

Example Usage

function OnUnitBehaviorDecrease(effect_context, stack_count_delta)
    local name = DCEI.TriggeringBehaviorName
    local u = DCEI.TriggeringUnit
    local unit_type = DCEI.GetUnitType(u)
    DCEI.LogMessage(unit_type .. " behavior " .. name .. " Decreased for a total of " .. stack_count_delta .. " stacks.")
end

DCEI.TriggerAddBehaviorStackDecreaseEvent(DCEI.CreateUnitFilter({name = DCEI.Unit("Test Unit")}), OnUnitBehaviorDecrease, true)

TriggerHandle TriggerAddBehaviorAddEvent(unit unit, TypedCallback<EffectContext> trigger, bool simple = False, BehaviorFilter filter = default)

TriggerHandle TriggerAddBehaviorAddEvent(unit unit, TypedCallback<EffectContext> trigger, bool simple = False, BehaviorFilter filter = default)

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

Callback Parameters

Example Usage

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

DCEI.TriggerAddBehaviorAddEvent(DCEI.CreateUnitFilter({name = DCEI.Unit("Test Unit")}), OnUnitBehaviorAdd, true)

TriggerHandle TriggerAddBehaviorExpireEvent(unit unit, TypedCallback trigger, bool simple = False, BehaviorFilter filter = default)

TriggerHandle TriggerAddBehaviorExpireEvent(unit unit, TypedCallback trigger, bool simple = False, BehaviorFilter filter = default)

Description


This event triggers when a behavior expires on a unit.

Parameters

Example Usage

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

DCEI.TriggerAddBehaviorExpireEvent(DCEI.CreateUnitFilter({name = DCEI.Unit("Test Unit")}), OnUnitBehaviorExpire, true)

TriggerHandle TriggerAddBehaviorDisabledEvent(unit unit, TypedCallback trigger, bool simple = False, BehaviorFilter filter = default)

TriggerHandle TriggerAddBehaviorDisabledEvent(unit unit, TypedCallback trigger, bool simple = False, BehaviorFilter filter = default)

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

Example Usage

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

DCEI.TriggerAddBehaviorDisabledEvent(DCEI.CreateUnitFilter({name = DCEI.Unit("Test Unit")}), OnUnitBehaviorDisable, true)

TriggerHandle TriggerAddBehaviorEnabledEvent(unit unit, TypedCallback trigger, bool simple = False, BehaviorFilter filter = default)

TriggerHandle TriggerAddBehaviorEnabledEvent(unit unit, TypedCallback trigger, bool simple = False, BehaviorFilter filter = default)

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

Example Usage

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

DCEI.TriggerAddBehaviorEnabledEvent(DCEI.CreateUnitFilter({name = DCEI.Unit("Test Unit")}), OnUnitBehaviorEnable, true)

TriggerHandle TriggerAddBehaviorRemoveEvent(unit unit, TypedCallback trigger, bool simple = False, BehaviorFilter filter = default)

TriggerHandle TriggerAddBehaviorRemoveEvent(unit unit, TypedCallback trigger, bool simple = False, BehaviorFilter filter = default)

Description


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

Parameters

Example Usage

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

DCEI.TriggerAddBehaviorRemoveEvent(DCEI.CreateUnitFilter({name = DCEI.Unit("Test Unit")}), OnUnitBehaviorRemove, true)