This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tensorreactions [2020/01/20 05:42] – rikudou | tensorreactions [2021/04/18 17:24] (current) – anyone | ||
---|---|---|---|
Line 11: | Line 11: | ||
</ | </ | ||
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
- | Join https:// | + | Join https:// |
- | We also have a file sharing drive: https://drive.google.com/drive/ | + | **If you are a new user, please watch this video first:** https://www.youtube.com/watch? |
</ | </ | ||
Line 75: | Line 75: | ||
would add a 500ms delay to this reaction. | would add a 500ms delay to this reaction. | ||
- | **You cannot | + | You can also invoke the ACR override |
+ | |||
+ | **''// | ||
+ | |||
+ | Argument // | ||
===== Condition UI ===== | ===== Condition UI ===== | ||
- | {{https:// | + | {{https:// |
**Category**: | **Category**: | ||
Line 85: | Line 89: | ||
**Emnity**: This value is target.aggropercentage on your current target. | **Emnity**: This value is target.aggropercentage on your current target. | ||
+ | |||
+ | **Filter**: Filter condition will loop over your target list and set detection target, then run your conditions. In the linked conditions to filter, you must set detection target to be the target you are checking on (party > target: detection target), and then once it's done it will look at the list of all targets that match, pick a subtype, and then set that as detection target. Then you link your skill action and use detection target as your target, with the filter condition linked. **Tip**: You can set "min number of entities" | ||
**Lua**: If you make a lua reaction, **you must return a boolean, else your condition will be ignored**. Important variables that you can use: | **Lua**: If you make a lua reaction, **you must return a boolean, else your condition will be ignored**. Important variables that you can use: | ||
Line 121: | Line 127: | ||
</ | </ | ||
would invoke the hotbar method inside of TensorRequiem to use natures minne on your main tank. | would invoke the hotbar method inside of TensorRequiem to use natures minne on your main tank. | ||
+ | |||
+ | You can also invoke the ACR override by returning the following from your lua code: | ||
+ | |||
+ | **''// | ||
+ | |||
+ | Argument //action// must be a valid action from the ActionList. **If you choose to return an action from lua, make sure the "Lua Returns Action" | ||
====== General UI ====== | ====== General UI ====== | ||
Line 135: | Line 147: | ||
__data__: same as timelines, for you to use as you wish. This data variable may prove very useful in general reactions as you can set it based on certain events happening. For example: on limit cut in TEA, you get marker number 5. You can use the OnEntityMarkerAdd event and see which marker is added on you, and store that in a data.myLimitCutNumber variable. You can use that variable to use certain skills in the timeline for tea (remember that data object is **shared between everything, general timeline reactions included** | __data__: same as timelines, for you to use as you wish. This data variable may prove very useful in general reactions as you can set it based on certain events happening. For example: on limit cut in TEA, you get marker number 5. You can use the OnEntityMarkerAdd event and see which marker is added on you, and store that in a data.myLimitCutNumber variable. You can use that variable to use certain skills in the timeline for tea (remember that data object is **shared between everything, general timeline reactions included** | ||
- | __eventArgs__: | + | __eventArgs__: |
+ | |||
+ | You can also invoke the ACR override by returning the following from your lua code: | ||
+ | |||
+ | **''// | ||
+ | |||
+ | Argument //action// must be a valid action from the ActionList. **If you choose to return an action from lua, make sure the "Lua Returns Action" | ||
+ | |||
+ | ====== Additional Documentation ====== | ||
+ | ===== Globals ===== | ||
+ | * **'' | ||
+ | * Contains a **copy** of the current internal timer that reactions uses | ||
+ | ===== Event Information ===== | ||
+ | * **'' | ||
- | OnUpdate: no args, simply | + | * **'' |
+ | * entityID | ||
+ | * id of entity that is casting action | ||
+ | * spellID | ||
+ | * id of spell that entity is casting | ||
- | OnEntityCast: Triggered the moment an entity | + | * **'' |
- | * entityID | + | * entityID |
- | * id of entity that is casting action | + | * id of entity that's channeling the spell |
- | * spellID | + | * spellID |
- | * id of spell that entity is casting | + | * id of the action being channeled |
+ | | ||
+ | | ||
+ | * channelTimeMax | ||
+ | * how long the entity | ||
- | OnEntityChannel: Triggered | + | * **'' |
- | * entityID | + | * entityID |
- | * id of entity | + | * id of entity the marker is added to |
- | * channelID | + | * markerID |
- | * id of the action being channeled | + | * marker type that is being added (this value is consistent; it will always be the same for the same mechanic) |
- | * targetID | + | |
- | * id of target the action | + | |
- | * channelTimeMax | + | |
- | * how long the entity needs to channel | + | |
- | OnEntityMarkerAdd: Triggered whenever a marker | + | * **'' |
- | * entityID | + | * entityID |
- | * id of entity | + | * id of entity |
- | * markerID | + | * entityName |
- | * marker type that is being added (this value is consistent; it will always be the same for the same mechanic) | + | * name of entity |
- | OnEntityAdd: Triggered whenever | + | * **'' |
- | * entityID | + | * entityID |
- | * id of entity that was added | + | * id of entity that was removed |
- | * entityName | + | * entityName |
- | * name of entity that was added | + | * name of entity that was removed |
- | OnEntityRemove: Triggered whenever | + | * **'' |
- | * entityID | + | * line |
- | * id of entity that was removed | + | * line **object** that was sent. Use line.line to get the actual text. |
- | * entityName | + | |
- | | + | |
- | OnNewChatLine: Triggered whenever a new chat message | + | * **'' |
- | * line | + | * entityID |
- | * line **object** that was sent. Use line.line | + | * id of entity that buff was added to |
+ | * buffID | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * owner of the buff that was added to entity | ||
- | OnNewBuffEntry: | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | OnWipe: no args, simply gets triggered when you go out of combat, and **only gets triggered if a valid timeline is loaded** to prevent situations like dungeons constantly triggering onwipe() | + | ===== Additional Functions ===== |
+ | //italics// = type, __underline__ = optional | ||
+ | * **'' | ||
+ | * Returns //bool// if any entity is **channeling** action '' | ||
+ | * **'' | ||
+ | * Returns //bool// if entity with '' | ||
+ | * **'' | ||
+ | * Returns //table// entity of specified group and subgroup. If strGroup is "Named Target" | ||
+ | * Full list of strGroups: '' | ||
+ | * Full list of subGroups: '' | ||
+ | * Full list of strGroups that require a subgroup: '' | ||
+ | * **'' | ||
+ | * This function accepts a variable number of arguments. Given an id, it will reset all time to kill data on that entity. Useful for Living Liquid / Living hand split in TEA p1 that throws off TTK. Example Usage: '' | ||