This is an old revision of the document!
ONLY WORKS ON PATCH 5.1 AND HIGHER
Argus is an advanced mechanic detection library that can be incorporated into other addons. Offers useful API that can detect various mechanics across fights.
Please join my discord if you require support, you can also view other addons created that use Argus here: https://discord.gg/bVABzBA
Because the API Argus offers is so powerful, for safety reasons, Argus will not be updated immediately for new raid tiers. Here is how long each type of content will take to update:
Persistent ground effect detection (like toxic vomit from brayflox dungeon)
Cones - cone arc angle outside of telegraphed ones. The hit detection for untelegraphed cones is done server side and thus the angle of the cones is never sent to client nor is it stored in the client.
Torus/Donuts - inner circle radius outside of telegraphed aoes (but also some telegraphed aoes). The hit detection for untelegraphed tori/donuts is done server side and thus the radius of the safe inner circle is never sent to client nor is it stored in the client.
italics = type, underline = optional
Argus.getCurrentGroundAOEs()
Argus.getCurrentDirectionalAOEs()
Argus.getCurrentTethers()
Argus.registerOnMarkerAdd(function func)
func(number entityID, number markerType)
. Argument entityID is the id of the entity to which the marker is being added to, and argument markerType is the marker type that is added to entity. Marker type is consistent across mechanics. A marker of type 2 will always have the same animation.Argus.registerOnEntityCast(function func)
func(number entityID, number actionID)
.Argus.registerOnEntityChannel(function func)
func(number entityID, number channelID, number targetID, number channelTimeMax)
.Argus.rotatePosAroundPos(table originPos, table posToRotate, number angle)
x, y, z
of rotated pos. Argument originPos
is the position the rotation should be around in a table with the keys x, y, z defined, and argument posToRotate is the world Pos to rotate. This function is most commonly used for getting the correct positions for line aoes. example usage for line aoe: local length, width = aoe.aoeLength, (aoe.aoeWidth / 2) local rectWorld = { topleft = RenderManager:WorldToScreen(Argus.rotatePosAroundPos({z = aoe.z, y = aoe.y, x = aoe.x}, {z = aoe.z, y = aoe.y, x = aoe.x + width}, aoe.heading)), bottomleft = RenderManager:WorldToScreen(Argus.rotatePosAroundPos({z = aoe.z, y = aoe.y, x = aoe.x}, {z = aoe.z, y = aoe.y, x = aoe.x - width}, aoe.heading)), topright = RenderManager:WorldToScreen(Argus.rotatePosAroundPos({z = aoe.z, y = aoe.y, x = aoe.x}, {z = aoe.z + length, y = aoe.y, x = aoe.x + width}, aoe.heading)), bottomright = RenderManager:WorldToScreen(Argus.rotatePosAroundPos({z = aoe.z, y = aoe.y, x = aoe.x}, {z = aoe.z + length, y = aoe.y, x = aoe.x - width}, aoe.heading)), }
Argus.addCircleFilled(number x, number y, number z, number radius, number segments, U32 Color colorFill, U32 Color colorOutline, number outlineThickness = 1.0)
Argus.addConeFilled(number x, number y, number z, number radius, number angle, number heading, number segments, U32 Color colorFill, U32 Color colorOutline, number outlineThickness = 1.0
)Argus.addRectFilled(number x, number y, number z, number length, number width, number heading, U32 Color colorFill, U32 Color colorOutline, number outlineThickness = 1.0)
Argus.addDonutFilled(number x, number y, number z, number radiusInner, number radiusOuter, number segments, U32 Color colorFill, U32 Color colorOutline, number outlineThickness = 1.0)
Argus.addCrossFilled(number x, number y, number z, number length, number width, number heading, U32 Color colorFill, U32 Color colorOutline, number outlineThickness = 1.0)
castType
Note: These are not guaranteed for every AOE. But generally, these are how AOEs are categorized in the game.2, 5
3, 13
4, 12
6
8
10
11
table GroundAOE
number x
number y
number z
number aoeType
number aoeLength
number aoeWidth
string aoeName
number aoeID
number aoeCastType
table DirectionalAOE
number x
number y
number z
number aoeType
number heading
number aoeLength
number aoeWidth
string aoeName
number aoeID
number aoeCastType
Marker Type | Name | Sample Locations |
---|---|---|
1, 2, 3, 4 | Prey Circle (orange) | o6s, The Burn boss 2 |
7 | Green Meteor | t9n, t9s |
8 | Ghost Meteor | t9n, t9s |
9 | Red Meteor | t9n, t9s |
10 | Yellow Meteor | t9n, t9s |
13 | Devour Flower | t6n, t6s, Sohm Al boss 1 |
14 | Prey Circle (blue) | t6n, t6s, o7s |
16 | Teal Crystal | Ultima Weapon Ultimate |
17 | Heavenly Laser (red) | t8n, t8s, e1n |
23 | Red Pinwheel | Sohm Al boss 2, Susano N/EX, e3n/s |
28 | Gravity Puddle | e1n |
30 | Prey Sphere (orange) | Dun Scaith boss 3, o7n/s |
31 | Prey Sphere (blue) | t10 |
40 | Earth Shaker | Sephiron N/EX, o4s |
50, 51, 52, 53 | Sword Markers 1-4 | Ravana N/EX, Twinning boss 1 |
55 | Red Dorito | Weeping City boss 2, Ridorana boss 1 |
57 | Purple Spread Circle (large) | Ravana N/EX, Shinryu EX |
62 | Stack Marker (bordered) | o8n/s, Dun Scaith |
70 | Green Pinwheel | Dun Scaith boss 1, o5n/s |
75 | Acceleration Bomb | Weeping City boss 3, Susano N/EX, o4s |
76 | Purple Fire Circle (large) | e2n/s |
84 | Thunder Tether (orange) | Titania EX |
87 | Flare | o4n/s, e2n/s |
92 | Prey (dark) | Dun Scaith boss 3/4, Holminster Switch boss 3 |
93 | Stack Marker (tank–no border) | Dun Scaith boss 4, e4s |
96 | Orange Spread Circle (small) | Hades N |
97 | Chain Tether (orange) | The Vault boss 3, Shinryu N/EX |
100 | Stack Marker (bordered) | o3s, Ridorana boss 3 |
101 | Spread Bubble | o3s, Byakko EX |
110 | Levinbolt | Susano EX |
118 | Prey (dark) | Bahamut Ultimate |
120 | Orange Spread Circle (large) | Akadaemia Anyder |
123 | Scatter (animated Play symbol) | Rabanastre boss 4 |
124 | Turn Away (animated eye symbol) | Rabanastre boss 4 |
126 | Green Crystal | Shinryu N/EX |
131 | Sword Meteor (Tsukuyomi) | Tsukuyomi EX |
135 | Prey Sphere (blue) | Akadaemia Anyder |
138 | Orange Spread Circle (large) | Innocence N/EX, Orbonne boss 3 |
139 | Purple Spread Circle (small) | Ridorana boss 1, Hades N |
142 | Death From Above | o10s |
143 | Death From Below | o10s |
145-152 | Fundamental Synergy Square/Circle | o12s |
161 | Stack Marker (bordered) | Titania N/EX |
169 | Orange Spread Circle (small) | o11n/s, e3n/s |
171 | Green Poison Circle | Qitana Ravel |
172 | Reprobation Tether | Innocence EX |
174 | Blue Pinwheel | Sohm Al boss 2 |
185 | Yellow Triangle (spread) | e4s |
186 | Orange Square (stack) | e4s |
187 | Blue Square (big spread) | e4s |
189 | Purple Spread Circle (giant) | TItania N/EX |
191 | Granite Gaol | e4s |