This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tensorreactions [2020/01/20 05:09] – 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 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 119: | 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 ====== | ||
{{https:// | {{https:// | ||
- | Each reaction in this list will be executed in the order of the listing and depending on event | + | 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 to trigger your event with. OnUpdate should be used as a last resort, as it's a bit resource heavy depending on the reaction. | ||
+ | |||
+ | **Lua:** every lua reaction and action inside general reactions will have the same variables as the timeline ones, however they will also have an additional variable, eventArgs: | ||
+ | |||
+ | __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 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 ===== | ||
+ | * **'' | ||
+ | |||
+ | * **'' | ||
+ | * 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 be the same for the same mechanic) | ||
+ | |||
+ | * **'' | ||
+ | * 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 to get the actual text. | ||
+ | |||
+ | * **'' | ||
+ | * 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: '' | ||
+ |