This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tensorreactions [2020/01/20 04:15] – rikudou | tensorreactions [2021/04/18 17:24] (current) – anyone | ||
---|---|---|---|
Line 1: | Line 1: | ||
< | < | ||
- | <span style=" | + | <span style=" |
</ | </ | ||
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 31: | Line 31: | ||
* Much more but this list would be too long | * Much more but this list would be too long | ||
+ | |||
+ | This addon is huge in scope, and covering everything in this wiki is impossible. I have provided basic usage information and examples, however you should go and experiment with the various options | ||
====== Timeline UI ====== | ====== Timeline UI ====== | ||
**General theme with the UI is to right click when in doubt** | **General theme with the UI is to right click when in doubt** | ||
Line 73: | 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 83: | 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 101: | Line 109: | ||
**Set Target**: Targets an enemy. **Will not show if Untarget is checked.** | **Set Target**: Targets an enemy. **Will not show if Untarget is checked.** | ||
- | **Condition List**: List of conditions that the action will check. **Each condition must be satisfied for the action to execute.** | + | **Condition List**: List of conditions that the action will check. **Each condition must be satisfied for the action to execute.** |
**Lua:** There are 3 useful variables that you can (and one that you must) use here. | **Lua:** There are 3 useful variables that you can (and one that you must) use here. | ||
Line 107: | Line 115: | ||
__self__: the action object. **You must set self.used = true if the action successfully went off and can be dequeued!** | __self__: the action object. **You must set self.used = true if the action successfully went off and can be dequeued!** | ||
- | __data__: **Global table passed to every lua reaction, condition, and action, gets reset on wipe!** This table is useful for checking variables set by other lua reactions as well as setting them. For example: | + | __data__: **Global table passed to every lua reaction, condition, and action, gets reset on wipe!** This table is useful for checking variables set by other lua reactions as well as setting them. For example: a lua action that executes the following |
<code lua> | <code lua> | ||
- | data.orbsToggled | + | local target = TensorCore.getEntityByGroup(" |
- | self.used = true | + | local minne = ActionList: |
+ | if minne.cdmax - minne.cd < 1.0 and target~= nil then | ||
+ | ACR_TensorRequiem_Hotbar_NaturesMinne_Custom | ||
+ | | ||
+ | | ||
+ | end | ||
</ | </ | ||
- | This would set a variable called | + | 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 ====== | ||
+ | {{https:// | ||
+ | |||
+ | Each reaction in this list will be executed in the order of the listing and depending on event. The UI is the same as Timeline Reactions but with a few minor tweaks. | ||
+ | |||
+ | **Event**: List of events | ||
+ | |||
+ | **Lua:** every lua reaction | ||
+ | |||
+ | __self__: the same as timelines, which means **for lua reactions and lua actions, self.used must be set if the (re)action goes off successfully** | ||
+ | |||
+ | __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__: | ||
+ | |||
+ | 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 | ||
+ | |||
+ | ====== Additional Documentation ====== | ||
+ | ===== Globals ===== | ||
+ | * **'' | ||
+ | * Contains a **copy** of the current internal timer that reactions uses | ||
+ | ===== Event Information ===== | ||
+ | * **'' | ||
+ | |||
+ | * **'' | ||
+ | * entityID | ||
+ | * id of entity that is casting action | ||
+ | * spellID | ||
+ | * id of spell that entity is casting | ||
+ | |||
+ | * **'' | ||
+ | * entityID | ||
+ | * id of entity that's channeling the spell | ||
+ | * spellID | ||
+ | * id of the action being channeled | ||
+ | * targetID | ||
+ | * id of target the action is being casted on | ||
+ | * channelTimeMax | ||
+ | * how long the entity needs to channel for before the cast is finished | ||
+ | |||
+ | * **'' | ||
+ | * entityID | ||
+ | * id of entity the marker is added to | ||
+ | * markerID | ||
+ | * marker type that is being added (this value is consistent; it will always | ||
+ | |||
+ | * **'' | ||
+ | * entityID | ||
+ | * id of entity that was added | ||
+ | * entityName | ||
+ | * name of entity that was added | ||
+ | |||
+ | * **'' | ||
+ | * entityID | ||
+ | * id of entity that was removed | ||
+ | * entityName | ||
+ | * name of entity that was removed | ||
+ | |||
+ | * **'' | ||
+ | * line | ||
+ | * line **object** that was sent. Use line.line | ||
+ | |||
+ | * **'' | ||
+ | * entityID | ||
+ | * id of entity that buff was added to | ||
+ | * buffID | ||
+ | * id of buff that was added | ||
+ | * buffDuration | ||
+ | * duration of buff that was added | ||
+ | * ownerID | ||
+ | * owner of the buff that was added to entity | ||
+ | |||
+ | * **'' | ||
+ | |||
+ | ===== 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: '' | ||