Class: Trigger#
Hierarchy#
Handle<trigger>
↳ Trigger
Constructors#
constructor#
new Trigger(): TriggerReturns: Trigger
Defined in: handles/trigger.ts:10
Properties#
handle#
• Readonly handle: trigger
Defined in: handles/handle.ts:6
Accessors#
enabled#
enabled(): booleanReturns: boolean
Defined in: handles/trigger.ts:27
enabled(flag: boolean): voidParameters:#
| Name | Type |
|---|---|
flag | boolean |
Returns: void
Defined in: handles/trigger.ts:19
evalCount#
evalCount(): numberReturns: number
Defined in: handles/trigger.ts:31
execCount#
execCount(): numberReturns: number
Defined in: handles/trigger.ts:39
id#
id(): numberGet the unique ID of the handle. The ID is recycled once you destroy the object.
Returns: number
The unique ID of a handle object.
Defined in: handles/handle.ts:18
waitOnSleeps#
waitOnSleeps(): booleanMarks the given trigger to wait/no longer wait for TriggerSleepActions in sub trigger executions started via TriggerExecuteWait.
Since this is an attribute of the execution rather than the trigger object, this affects future runs of the given trigger, and not
those already started.
Returns: boolean
Defined in: handles/trigger.ts:52
waitOnSleeps(flag: boolean): voidMarks the given trigger to wait/no longer wait for TriggerSleepActions in sub trigger executions started via TriggerExecuteWait.
Since this is an attribute of the execution rather than the trigger object, this affects future runs of the given trigger, and not
those already started.
Parameters:#
| Name | Type |
|---|---|
flag | boolean |
Returns: void
Defined in: handles/trigger.ts:48
eventId#
static eventId(): eventidReturns: eventid
Defined in: handles/trigger.ts:35
Methods#
addAction#
addAction(actionFunc: function): triggeractionParameters:#
| Name | Type |
|---|---|
actionFunc | () => void |
Returns: triggeraction
Defined in: handles/trigger.ts:56
addCondition#
addCondition(condition: boolexpr | function): triggerconditionAdds a new condition to the trigger.
Adding more conditions later wil join them by AND (that means all conditions need to evaluate to true)
example
const t = new Trigger()
// trigger fires if a unit is attackedt.registerAnyUnitEvent(EVENT_PLAYER_UNIT_ATTACKED)
// but only if the unit name matchest.addCondition(Condition(() => Unit.fromHandle(GetAttacker()).name === 'Attacker Unit'))
t.addAction(() => { //do something...})Parameters:#
| Name | Type | Description |
|---|---|---|
condition | boolexpr | () => boolean | The condition which must evaluate to true in order to run the trigger's actions. |
Returns: triggercondition
Defined in: handles/trigger.ts:81
destroy#
destroy(): voidbug Do not destroy the current running Trigger (when waits are involved)
as it can cause handle stack corruption as documented here.
Returns: void
Defined in: handles/trigger.ts:89
eval#
eval(): booleanEvaluates all functions that were added to the trigger via addCondition.
All return-values from all added condition-functions are anded together as the final return-value.
Returns the boolean value of the return value from the condition-function.
So if 0/0.0/null would be returned in the condition-function, eval
would return false. Note that "" would return true.
note If a condition-function crashes the thread or does not return any value eval will return false.
note If you want to return false for a condition-function that returns string (for whatever reason) return null instead of ""
note All functions added via addCondition are run. There is no short-circuting. If you want short-circuting use And or Or.
note All functions added via addCondition are run in the order they were added.
Returns: boolean
Defined in: handles/trigger.ts:104
exec#
exec(): voidCalls the actions of a trigger in a new execution context. Control will return to the caller when the trigger has finished or has been suspended via TriggerSleepAction.
Returns: void
Defined in: handles/trigger.ts:112
execWait#
execWait(): voidDoes the same as exec but if the caller has been marked with waitOnSleeps before its
execution, it will additionally wait for TriggerSleepActions of the callee, so this really ensures that
the callee has finished. If there was a TriggerSleepAction, there will be a short delay before returning.
Returns: void
Defined in: handles/trigger.ts:121
registerAnyUnitEvent#
registerAnyUnitEvent(whichPlayerUnitEvent: playerunitevent): voidParameters:#
| Name | Type |
|---|---|
whichPlayerUnitEvent | playerunitevent |
Returns: void
Defined in: handles/trigger.ts:125
registerCommandEvent#
registerCommandEvent(whichAbility: number, order: string): eventParameters:#
| Name | Type |
|---|---|
whichAbility | number |
order | string |
Returns: event
Defined in: handles/trigger.ts:129
registerDeathEvent#
registerDeathEvent(whichWidget: Widget): eventParameters:#
| Name | Type |
|---|---|
whichWidget | Widget |
Returns: event
Defined in: handles/trigger.ts:133
registerDialogButtonEvent#
registerDialogButtonEvent(whichButton: DialogButton): eventParameters:#
| Name | Type |
|---|---|
whichButton | DialogButton |
Returns: event
Defined in: handles/trigger.ts:137
registerDialogEvent#
registerDialogEvent(whichDialog: Dialog): eventParameters:#
| Name | Type |
|---|---|
whichDialog | Dialog |
Returns: event
Defined in: handles/trigger.ts:141
registerEnterRegion#
registerEnterRegion(whichRegion: region, filter: null | boolexpr | function): eventParameters:#
| Name | Type |
|---|---|
whichRegion | region |
filter | null | boolexpr | () => boolean |
Returns: event
Defined in: handles/trigger.ts:145
registerFilterUnitEvent#
registerFilterUnitEvent(whichUnit: unit, whichEvent: unitevent, filter: null | boolexpr | function): eventParameters:#
| Name | Type |
|---|---|
whichUnit | unit |
whichEvent | unitevent |
filter | null | boolexpr | () => boolean |
Returns: event
Defined in: handles/trigger.ts:149
registerGameEvent#
registerGameEvent(whichGameEvent: gameevent): eventParameters:#
| Name | Type |
|---|---|
whichGameEvent | gameevent |
Returns: event
Defined in: handles/trigger.ts:153
registerGameStateEvent#
registerGameStateEvent(whichState: gamestate, opcode: limitop, limitval: number): eventParameters:#
| Name | Type |
|---|---|
whichState | gamestate |
opcode | limitop |
limitval | number |
Returns: event
Defined in: handles/trigger.ts:157
registerLeaveRegion#
registerLeaveRegion(whichRegion: region, filter: null | boolexpr | function): eventParameters:#
| Name | Type |
|---|---|
whichRegion | region |
filter | null | boolexpr | () => boolean |
Returns: event
Defined in: handles/trigger.ts:161
registerPlayerAllianceChange#
registerPlayerAllianceChange(whichPlayer: MapPlayer, whichAlliance: alliancetype): eventParameters:#
| Name | Type |
|---|---|
whichPlayer | MapPlayer |
whichAlliance | alliancetype |
Returns: event
Defined in: handles/trigger.ts:165
registerPlayerChatEvent#
registerPlayerChatEvent(whichPlayer: MapPlayer, chatMessageToDetect: string, exactMatchOnly: boolean): eventParameters:#
| Name | Type |
|---|---|
whichPlayer | MapPlayer |
chatMessageToDetect | string |
exactMatchOnly | boolean |
Returns: event
Defined in: handles/trigger.ts:169
registerPlayerEvent#
registerPlayerEvent(whichPlayer: MapPlayer, whichPlayerEvent: playerevent): eventParameters:#
| Name | Type |
|---|---|
whichPlayer | MapPlayer |
whichPlayerEvent | playerevent |
Returns: event
Defined in: handles/trigger.ts:173
registerPlayerKeyEvent#
registerPlayerKeyEvent(whichPlayer: MapPlayer, whichKey: oskeytype, metaKey: number, fireOnKeyDown: boolean): eventParameters:#
| Name | Type |
|---|---|
whichPlayer | MapPlayer |
whichKey | oskeytype |
metaKey | number |
fireOnKeyDown | boolean |
Returns: event
Defined in: handles/trigger.ts:177
registerPlayerMouseEvent#
registerPlayerMouseEvent(whichPlayer: MapPlayer, whichMouseEvent: number): eventParameters:#
| Name | Type |
|---|---|
whichPlayer | MapPlayer |
whichMouseEvent | number |
Returns: event
Defined in: handles/trigger.ts:181
registerPlayerStateEvent#
registerPlayerStateEvent(whichPlayer: MapPlayer, whichState: playerstate, opcode: limitop, limitval: number): eventParameters:#
| Name | Type |
|---|---|
whichPlayer | MapPlayer |
whichState | playerstate |
opcode | limitop |
limitval | number |
Returns: event
Defined in: handles/trigger.ts:185
registerPlayerSyncEvent#
registerPlayerSyncEvent(whichPlayer: MapPlayer, prefix: string, fromServer: boolean): eventParameters:#
| Name | Type |
|---|---|
whichPlayer | MapPlayer |
prefix | string |
fromServer | boolean |
Returns: event
Defined in: handles/trigger.ts:189
registerPlayerUnitEvent#
registerPlayerUnitEvent(whichPlayer: MapPlayer, whichPlayerUnitEvent: playerunitevent, filter: null | boolexpr | function): eventParameters:#
| Name | Type |
|---|---|
whichPlayer | MapPlayer |
whichPlayerUnitEvent | playerunitevent |
filter | null | boolexpr | () => boolean |
Returns: event
Defined in: handles/trigger.ts:193
registerTimerEvent#
registerTimerEvent(timeout: number, periodic: boolean): eventParameters:#
| Name | Type |
|---|---|
timeout | number |
periodic | boolean |
Returns: event
Defined in: handles/trigger.ts:198
registerTimerExpireEvent#
registerTimerExpireEvent(t: timer): eventParameters:#
| Name | Type |
|---|---|
t | timer |
Returns: event
Defined in: handles/trigger.ts:203
registerTrackableHitEvent#
registerTrackableHitEvent(whichTrackable: trackable): eventParameters:#
| Name | Type |
|---|---|
whichTrackable | trackable |
Returns: event
Defined in: handles/trigger.ts:207
registerTrackableTrackEvent#
registerTrackableTrackEvent(whichTrackable: trackable): eventParameters:#
| Name | Type |
|---|---|
whichTrackable | trackable |
Returns: event
Defined in: handles/trigger.ts:211
registerUnitEvent#
registerUnitEvent(whichUnit: Unit, whichEvent: unitevent): eventParameters:#
| Name | Type |
|---|---|
whichUnit | Unit |
whichEvent | unitevent |
Returns: event
Defined in: handles/trigger.ts:215
registerUnitInRage#
registerUnitInRage(whichUnit: unit, range: number, filter: null | boolexpr | function): eventParameters:#
| Name | Type |
|---|---|
whichUnit | unit |
range | number |
filter | null | boolexpr | () => boolean |
Returns: event
Defined in: handles/trigger.ts:219
registerUnitStateEvent#
registerUnitStateEvent(whichUnit: Unit, whichState: unitstate, opcode: limitop, limitval: number): eventParameters:#
| Name | Type |
|---|---|
whichUnit | Unit |
whichState | unitstate |
opcode | limitop |
limitval | number |
Returns: event
Defined in: handles/trigger.ts:223
registerUpgradeCommandEvent#
registerUpgradeCommandEvent(whichUpgrade: number): eventParameters:#
| Name | Type |
|---|---|
whichUpgrade | number |
Returns: event
Defined in: handles/trigger.ts:227
registerVariableEvent#
registerVariableEvent(varName: string, opcode: limitop, limitval: number): eventParameters:#
| Name | Type |
|---|---|
varName | string |
opcode | limitop |
limitval | number |
Returns: event
Defined in: handles/trigger.ts:231
removeAction#
removeAction(whichAction: triggeraction): voidParameters:#
| Name | Type |
|---|---|
whichAction | triggeraction |
Returns: void
Defined in: handles/trigger.ts:235
removeActions#
removeActions(): voidReturns: void
Defined in: handles/trigger.ts:239
removeCondition#
removeCondition(whichCondition: triggercondition): voidParameters:#
| Name | Type |
|---|---|
whichCondition | triggercondition |
Returns: void
Defined in: handles/trigger.ts:243
removeConditions#
removeConditions(): voidReturns: void
Defined in: handles/trigger.ts:247
reset#
reset(): voidReturns: void
Defined in: handles/trigger.ts:251
triggerRegisterFrameEvent#
triggerRegisterFrameEvent(frame: Frame, eventId: frameeventtype): eventParameters:#
| Name | Type |
|---|---|
frame | Frame |
eventId | frameeventtype |
Returns: event
Defined in: handles/trigger.ts:255
fromEvent#
static fromEvent(): TriggerReturns: Trigger
Defined in: handles/trigger.ts:259
fromHandle#
static fromHandle(handle: trigger): TriggerParameters:#
| Name | Type |
|---|---|
handle | trigger |
Returns: Trigger
Defined in: handles/trigger.ts:263