Module argus
Advanced detections/drawing library
World Draw Fields
u32color | Integer color value used in Argus functions |
World Draw Structures
rgbFill | Structure used for old Argus timed draws |
World Draw Functions
Argus.addCircleFilled | Draw a filled circle on the ground at world coordinates for this frame. |
Argus.addConeFilled | Draw a timed cone on the ground at world coordinates for this frame. |
Argus.addCrossFilled | Draw a filled cross on the ground at world coordinates for this frame. |
Argus.addDonutFilled | Draw a filled donut (torus) on the ground at world coordinates for this frame. |
Argus.addLineFilled | Draw a timed line between two world coordinate positions for this frame. |
Argus.addRectFilled | Draw a filled rectangle on the ground at world coordinates for this frame. |
Argus.addTimedCircleFilled | THIS FUNCTION IS DEPRECATED. |
Argus.addTimedConeFilled | THIS FUNCTION IS DEPRECATED. |
Argus.addTimedCrossFilled | THIS FUNCTION IS DEPRECATED. |
Argus.addTimedDonutFilled | THIS FUNCTION IS DEPRECATED. |
Argus.addTimedLineFilled | THIS FUNCTION IS DEPRECATED. |
Argus.addTimedRectFilled | THIS FUNCTION IS DEPRECATED. |
Argus.deleteTimedShape | Deletes a timed draw given a uuid |
Argus2.addTimedCircleFilled | Draw a filled circle on the ground at world coordinates for a specified duration. |
Argus2.addTimedConeFilled | Draw a timed cone on the ground at world coordinates for a specified duration. |
Argus2.addTimedCrossFilled | Draw a filled cross on the ground at world coordinates for a specified duration. |
Argus2.addTimedDonutFilled | Draw a filled donut (torus) on the ground at world coordinates for a specified duration. |
Argus2.addTimedLineFilled | Draw a timed line between two world coordinate positions for a specified duration. |
Argus2.addTimedRectFilled | Draw a filled rectangle on the ground at world coordinates for a specified duration. |
Detection Structures
DirectionalAOE | Structure for Directional AOEs that are usually originating from an entity |
GroundAOE | Structure for Ground AOEs that are not usually attached to any entity |
aoeAnimationInfo | Structure that contains information about an aoe's animation. |
aoeEffectInfo | Structure that contains information about an omen/telegraph. |
castType | An integer to identify some aoe types. |
Detection Functions
Argus.getCurrentAOEs | Returns a merged list of GroundAOEs and DirectionalAOEs. |
Argus.getCurrentDirectionalAOEs | Returns list of current AOEs that are cast on the ground where each key is the entityID source, and value is the DirectionalAOE structure. |
Argus.getCurrentGroundAOEs | Returns list of current AOEs that are on the ground where each key is the entityID source, and value is the DirectionalAOE. |
Argus.getCurrentTethers | Returns table where each key is number entityID and each value is table tethers. |
Argus.registerOnEntityCast | Registers func into entity cast func list. |
Argus.registerOnEntityChannel | Registers func into entity channel func list. |
Argus.registerOnMarkerAdd | Registers func into marker func list, and func will get called any time there is an overhead marker added to an entity. |
onEntityCastFunc | |
onEntityChannelFunc | |
onMarkerAddFunc |
World Draw Fields
- u32color
-
Integer color value used in Argus functions
- u32color Use GUI:ColorConvertFloat4ToU32(r, g, b, a) to get this U32 value. The r, g, b, a values are all [0,1], not [0,255].
World Draw Structures
- rgbFill
-
Structure used for old Argus timed draws
Fields:
- r number [0,1]
- g number [0,1]
- b number [0,1]
- a number [0,1]
World Draw Functions
- Argus.addCircleFilled (x, y, z, radius, segments, colorFill[, colorOutline][, outlineThickness=1.0])
-
Draw a filled circle on the ground at world coordinates for this frame.
Parameters:
- x number
- y number
- z number
- radius number Radius of the circle in yalms.
- segments int Number of segments for the circle. Generally only 50 segments is needed to draw a circle that looks round. For performance reasons I would recommend not going above 50 segments.
- colorFill u32color Fill Color of circle. If argument is nil, then no fill will be drawn.
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
- Argus.addConeFilled (x, y, z, radius, angle, heading, segments, colorFill[, colorOutline][, outlineThickness=1.0])
-
Draw a timed cone on the ground at world coordinates for this frame.
The cone originates from x,y,z, and will go in the direction of heading.
Parameters:
- x number
- y number
- z number
- radius number If the cone was a circle instead, this gives the radius of that circle. Basically this is the length of the cone.
- angle number Arc angle of the cone in radians. Basically, this is how wide the cone is.
- heading number The direction the cone will face in radians.
- segments int Generally only 30 segments is needed to draw a cone that looks round. For performance reasons I would recommend not going above 30 segments.
- colorFill u32color Fill Color of rectangle. If argument is nil, then no fill will be drawn.
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
- Argus.addCrossFilled (x, y, z, length, width, heading, colorFill[, colorOutline][, outlineThickness=1.0])
-
Draw a filled cross on the ground at world coordinates for this frame.
The cross is centered on x,y,z, and then rotated such that there is a rectangle facing the specified heading.
Parameters:
- x number
- y number
- z number
- length number
- width number
- heading number The direction the cross will face in radians.
- colorFill u32color Fill Color of rectangle. If argument is nil, then no fill will be drawn.
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
- Argus.addDonutFilled (x, y, z, radiusInner, radiusOuter, segments, colorFill[, colorOutline][, outlineThickness=1.0])
-
Draw a filled donut (torus) on the ground at world coordinates for this frame.
Parameters:
- x number
- y number
- z number
- radiusInner number Inner radius of the donut.
- radiusOuter number Outer radius of the donut
- segments int Number of segments for the circle. Generally only 50 segments is needed to draw a circle that looks round. For performance reasons I would recommend not going above 50 segments.
- colorFill u32color Fill Color of rectangle. If argument is nil, then no fill will be drawn.
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
- Argus.addLineFilled (x1, y1, z1, x2, y2, z2, colorFill, outlineThickness, endpointThickness)
-
Draw a timed line between two world coordinate positions for this frame.
Parameters:
- x1 number
- y1 number
- z1 number
- x2 number
- y2 number
- z2 number
- colorFill u32color
- outlineThickness number
- endpointThickness number
- Argus.addRectFilled (x, y, z, length, width, heading, colorFill[, colorOutline][, outlineThickness][, ignoreBase=false])
-
Draw a filled rectangle on the ground at world coordinates for this frame.
The rectangle originates from x,y,z, and will go width/2 yalms out in each direction up and down, then length yalms out in the direction of heading.
Parameters:
- x number
- y number
- z number
- length number
- width number
- heading number The direction the rectangle will face in radians.
- colorFill u32color Fill Color of rectangle. If argument is nil, then no fill will be drawn.
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (optional)
- ignoreBase bool If true, Argus will not draw the outline connecting the base of the rectangle. Useful for drawing crosses, however Argus already has a function for that, see Argus.addCrossFilled. (default false)
- Argus.addTimedCircleFilled (timeout, x, y, z, radius, segments, rgbFill, alphaMin, alphaMax[, delay=0][, entityAttachID][, colorOutline][, outlineThickness=1.0])
-
THIS FUNCTION IS DEPRECATED. Use Argus2.addTimedCircleFilled instead.
Draw a filled circle on the ground at world coordinates for a specified duration.
Parameters:
- timeout int duration of the draw
- x number
- y number
- z number
- radius number Radius of the circle in yalms.
- segments int Number of segments for the circle. Generally only 50 segments is needed to draw a circle that looks round. For performance reasons I would recommend not going above 50 segments.
- rgbFill rgbFill
- alphaMin number Starting alpha value [0,1]
- alphaMax number Ending alpha value, Argus will gradually increase from alphaMin to alphaMax over the duration of the draw. [0,1]
- delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
- entityAttachID int will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
Returns:
-
string
uuid, see Argus.deleteTimedShape
- Argus.addTimedConeFilled (timeout, x, y, z, radius, angle, heading, segments, rgbFill, alphaMin, alphaMax[, delay=0][, entityAttachID][, targetAttachID][, colorOutline][, outlineThickness=1.0])
-
THIS FUNCTION IS DEPRECATED. Use Argus2.addTimedConeFilled instead.
Draw a filled cone on the ground at world coordinates for a specified duration.
The cone originates from x,y,z, and will go in the direction of heading.
Parameters:
- timeout int duration of the draw
- x number
- y number
- z number
- radius number If the cone was a circle instead, this gives the radius of that circle. Basically this is the length of the cone.
- angle number Arc angle of the cone in radians. Basically, this is how wide the cone is.
- heading number The direction the cone will face in radians.
- segments int Generally only 30 segments is needed to draw a cone that looks round. For performance reasons I would recommend not going above 30 segments.
- rgbFill rgbFill
- alphaMin number Starting alpha value [0,1]
- alphaMax number Ending alpha value, Argus will gradually increase from alphaMin to alphaMax over the duration of the draw. [0,1]
- delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
- entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
- targetAttachID int If specified, the cone will be drawn from it's source position (either specified or attached to entity) and stopping at the position of targetAttach entity. (optional)
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
Returns:
-
string
uuid, see Argus.deleteTimedShape
- Argus.addTimedCrossFilled (timeout, x, y, z, length, width, heading, rgbFill, alphaMin, alphaMax[, delay=0][, entityAttachID][, targetAttachID][, colorOutline][, outlineThickness=1.0])
-
THIS FUNCTION IS DEPRECATED. Use Argus2.addTimedCrossFilled instead.
Draw a filled cross on the ground at world coordinates for a specified duration.
The cross is centered on x,y,z, and then rotated such that there is a rectangle facing the specified heading.
Parameters:
- timeout int duration of the draw
- x number
- y number
- z number
- length number
- width number
- heading number The direction the cross will face in radians.
- rgbFill rgbFill
- alphaMin number Starting alpha value [0,1]
- alphaMax number Ending alpha value, Argus will gradually increase from alphaMin to alphaMax over the duration of the draw. [0,1]
- delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
- entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
- targetAttachID int If specified, the cone will be drawn from it's source position (either specified or attached to entity) and stopping at the position of targetAttach entity. (optional)
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
Returns:
-
string
uuid, see Argus.deleteTimedShape
- Argus.addTimedDonutFilled (timeout, x, y, z, radiusInner, radiusOuter, segments, rgbFill, alphaMin, alphaMax[, delay=0][, entityAttachID][, colorOutline][, outlineThickness=1.0])
-
THIS FUNCTION IS DEPRECATED. Use Argus2.addTimedDonutFilled instead.
Draw a filled donut (torus) on the ground at world coordinates for a specified duration.
Parameters:
- timeout int duration of the draw
- x number
- y number
- z number
- radiusInner number Inner radius of the donut.
- radiusOuter number Outer radius of the donut
- segments int Number of segments for the circle. Generally only 50 segments is needed to draw a circle that looks round. For performance reasons I would recommend not going above 50 segments.
- rgbFill rgbFill
- alphaMin number Starting alpha value [0,1]
- alphaMax number Ending alpha value, Argus will gradually increase from alphaMin to alphaMax over the duration of the draw. [0,1]
- delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
- entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
Returns:
-
string
uuid, see Argus.deleteTimedShape
- Argus.addTimedLineFilled (timeout, x1, y1, z1, x2, y2, z2[, delay=0], rgbFill, outlineThickness, endpointThickness)
-
THIS FUNCTION IS DEPRECATED. Use Argus2.addTimedLineFilled instead.
Draw a filled line between two world coordinate positions for a specified duration.
Parameters:
- timeout int Duration of the draw
- x1 number
- y1 number
- z1 number
- x2 number
- y2 number
- z2 number
- delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
- rgbFill rgbFill Color of line
- outlineThickness number
- endpointThickness number
Returns:
-
string
uuid, see Argus.deleteTimedShape
- Argus.addTimedRectFilled (timeout, x, y, z, length, width, heading, rgbFill, alphaMin, alphaMax[, delay=0][, entityAttachID][, targetAttachID[, keepLength=false]][, colorOutline][, outlineThickness=1.0])
-
THIS FUNCTION IS DEPRECATED. Use Argus2.addTimedRectFilled instead.
Draws a filled rectangle on the ground for a specified duration.
The rectangle originates from x,y,z, and will go width/2 yalms out in each direction up and down, then length yalms out in the direction of heading.
Parameters:
- timeout int duration of the draw
- x number
- y number
- z number
- length number
- width number
- heading number The direction the rectangle will face in radians.
- rgbFill rgbFill
- alphaMin number Starting alpha value [0,1]
- alphaMax number Ending alpha value, Argus will gradually increase from alphaMin to alphaMax over the duration of the draw. [0,1]
- delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
- entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
- targetAttachID int If specified, the rectangle will be drawn from it's source position (either specified or attached to entity) and stopping at the position of targetAttach entity. (optional)
- keepLength bool If specified with targetAttach, then the length won't be adjusted to the target, the length will stay constant. (default false)
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
Returns:
-
string
uuid, see Argus.deleteTimedShape
- Argus.deleteTimedShape (uuid)
-
Deletes a timed draw given a uuid
Parameters:
- uuid string
- Argus2.addTimedCircleFilled (timeout, x, y, z, radius, segments, colorStart, colorEnd[, delay=0][, entityAttachID][, colorOutline][, outlineThickness=1.0])
-
Draw a filled circle on the ground at world coordinates for a specified duration.
Parameters:
- timeout int duration of the draw
- x number
- y number
- z number
- radius number Radius of the circle in yalms.
- segments int Number of segments for the circle. Generally only 50 segments is needed to draw a circle that looks round. For performance reasons I would recommend not going above 50 segments.
- colorStart u32color Color to start with.
- colorEnd u32color U32 Color to end with. Argus will transition from color start to color end.
- delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
- entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
Returns:
-
string
uuid, see Argus.deleteTimedShape
- Argus2.addTimedConeFilled (timeout, x, y, z, radius, angle, heading, segments, colorStart, colorEnd[, delay=0][, entityAttachID][, targetAttachID][, colorOutline][, outlineThickness=1.0])
-
Draw a timed cone on the ground at world coordinates for a specified duration.
The cone originates from x,y,z, and will go in the direction of heading.
Parameters:
- timeout int duration of the draw
- x number
- y number
- z number
- radius number If the cone was a circle instead, this gives the radius of that circle. Basically this is the length of the cone.
- angle number Arc angle of the cone in radians. Basically, this is how wide the cone is.
- heading number The direction the cone will face in radians.
- segments int Generally only 30 segments is needed to draw a cone that looks round. For performance reasons I would recommend not going above 30 segments.
- colorStart u32color color to start with.
- colorEnd u32color U32 Color to end with. Argus will transition from color start to color end.
- delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
- entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
- targetAttachID int If specified, the cone will be drawn from it's source position (either specified or attached to entity) and stopping at the position of targetAttach entity. (optional)
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
Returns:
-
string
uuid, see Argus.deleteTimedShape
- Argus2.addTimedCrossFilled (timeout, x, y, z, length, width, heading, colorStart, colorEnd[, delay=0][, entityAttachID][, targetAttachID][, colorOutline][, outlineThickness=1.0])
-
Draw a filled cross on the ground at world coordinates for a specified duration.
The cross is centered on x,y,z, and then rotated such that there is a rectangle facing the specified heading.
Parameters:
- timeout int duration of the draw
- x number
- y number
- z number
- length number
- width number
- heading number The direction the cross will face in radians.
- colorStart u32color color to start with.
- colorEnd u32color U32 Color to end with. Argus will transition from color start to color end.
- delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
- entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
- targetAttachID int If specified, the cone will be drawn from it's source position (either specified or attached to entity) and stopping at the position of targetAttach entity. (optional)
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
Returns:
-
string
uuid, see Argus.deleteTimedShape
- Argus2.addTimedDonutFilled (timeout, x, y, z, radiusInner, radiusOuter, segments, colorStart, colorEnd[, delay=0][, entityAttachID][, colorOutline][, outlineThickness=1.0])
-
Draw a filled donut (torus) on the ground at world coordinates for a specified duration.
Parameters:
- timeout int duration of the draw
- x number
- y number
- z number
- radiusInner number Inner radius of the donut.
- radiusOuter number Outer radius of the donut
- segments int Number of segments for the circle. Generally only 50 segments is needed to draw a circle that looks round. For performance reasons I would recommend not going above 50 segments.
- colorStart u32color color to start with.
- colorEnd u32color U32 Color to end with. Argus will transition from color start to color end.
- delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
- entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (default 1.0)
Returns:
-
string
uuid, see Argus.deleteTimedShape
- Argus2.addTimedLineFilled (timeout, x1, y1, z1, x2, y2, z2[, delay=0], colorFill, outlineThickness, endpointThickness)
-
Draw a timed line between two world coordinate positions for a specified duration.
Parameters:
- timeout int duration of the draw
- x1 number
- y1 number
- z1 number
- x2 number
- y2 number
- z2 number
- delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
- colorFill u32color
- outlineThickness number
- endpointThickness number
Returns:
-
string
uuid, see Argus.deleteTimedShape
- Argus2.addTimedRectFilled (timeout, x, y, z, length, width, heading, colorStart, colorEnd[, delay=0][, entityAttachID][, targetAttachID[, keepLength=false]][, colorOutline][, outlineThickness])
-
Draw a filled rectangle on the ground at world coordinates for a specified duration.
The rectangle originates from x,y,z, and will go width/2 yalms out in each direction up and down, then length yalms out in the direction of heading.
Parameters:
- timeout int duration of the draw
- x number
- y number
- z number
- length number
- width number
- heading number The direction the rectangle will face in radians.
- colorStart u32color color to start with.
- colorEnd u32color U32 Color to end with. Argus will transition from color start to color end.
- delay int Time in milliseconds to wait before the draw is shown. Useful for when mechanics happen back to back, and you want to delay showing the circles without precise timing. (default 0)
- entityAttachID int Will attach to specified entity ID, and x,y,z will dynamically be changed to specified entity (optional)
- targetAttachID int If specified, the rectangle will be drawn from it's source position (either specified or attached to entity) and stopping at the position of targetAttach entity. (optional)
- keepLength bool If specified with targetAttach, then the length won't be adjusted to the target, the length will stay constant. (default false)
- colorOutline u32color U32 Color for outline. If unspecified, an outline is not drawn. (optional)
- outlineThickness number If outlineThickness is specified and colorOutline is not specified, Argus will use your current color shift value based on percent complete, and the alpha will be 1. (optional)
Returns:
-
string
uuid, see Argus.deleteTimedShape
Detection Structures
- DirectionalAOE
-
Structure for Directional AOEs that are usually originating from an entity
Fields:
- x number X position of aoe
- y number Y position of aoe
- z number Z position of aoe
- aoeType int Animation/omen type of aoe
- heading number Direction the aoe is facing
- aoeLength int Length of aoe
- aoeWidth int Width of aoe, mostly used for Line aoes. This value is 0 for cones and circles.
- aoeName string Name of aoe
- aoeID number Cast/Spell ID of aoe
- aoeCastType number Cast type/shape of AOE. See castType for known castType values.
- targetAttach int ID of entity that current aoe is attached to, if found. Value is nil otherwise.
- aoeAnimationInfo aoeAnimationInfo Contains information about the animation that will play when the aoe completes and gets casted.
- aoeEffectInfo aoeEffectInfo Contains information about the aoe's omen/telegraph.
- isAreaTarget bool If the spell is a free target ability or not, this is useful for identifying aoes that will attach to target or not. Argus already processes this information combined with a few more heuristics internally, and will update the x,y,z and well as targetAttachID correctly.
- GroundAOE
-
Structure for Ground AOEs that are not usually attached to any entity
Fields:
- x number X position of aoe
- y number Y position of aoe
- z number Z position of aoe
- aoeType int Animation/omen type of aoe
- aoeLength int Length/radius in yalms of aoe
- aoeWidth int Width in yalms of aoe (0 for circles and cones etc)
- aoeName string Name of aoe
- aoeID int Cast/Spell ID of aoe
- aoeCastType int Cast type/shape of AOE. See castType for known castType values.
- targetAttach int ID of entity that current aoe is attached to, if found. Value is nil otherwise.
- aoeAnimationInfo aoeAnimationInfo Contains information about the animation that will play when the aoe completes and gets casted.
- aoeEffectInfo aoeEffectInfo Contains information about the aoe's omen/telegraph.
- isAreaTarget bool If the spell is a free target ability or not, this is useful for identifying aoes that will attach to target or not. Argus already processes this information combined with a few more heuristics internally, and will update the x,y,z and well as targetAttachID correctly.
- aoeAnimationInfo
-
Structure that contains information about an aoe's animation.
Useful in case there is additional info that can be grabbed to determine cone width/donut inner radius.
Fields:
- aoeAnimationTypeStart int
- aoeAnimationTypeEnd int
- aoeAnimationTimelineHit int
- aoeCastVFX int
- aoeEffectInfo
-
Structure that contains information about an omen/telegraph.
Useful for identifying cone width and donut inner radius for telegraphed aoes.
Fields:
- aoeEffectName string Name of omen
- aoeEffectCastType int If this value is non-zero, then the game override the original aoeCastType with this castType value internally. Argus already updates the original aoeCastType value correctly, so this field can be generally ignored. See castType for known castType values.
- aoeEffectRestrictYScale bool If true, the aoe will be 10% of it's original size. Argus already adjusts the original aoe size values correctly, so this field can be generally ignored.
- aoeEffectLargeScale int Some value that changes internal orientation for drawing the telegraph effects. Argus already handles this value interanlly, so it can be generally ignored.
- castType
-
An integer to identify some aoe types.
These are not guaranteed for every AOE. But generally, these are how AOEs are categorized in the game.
Fields:
- [2, 5] Circle AOE
- [3, 13] Directional Cone/arc AOE
- [4, 12] Directional Line AOE
- [6] Meteor mechanic (more damage the closer you are to the center), usually unavoidable
- [8] Line AOE that's targeted to either a position, or specific entity. Argus will adjust the length and heading automatically
- [10] Donut AOE
- [11] Cross AOE (new type to shadowbringers, like last boss of grand cosmos)
Detection Functions
- Argus.getCurrentAOEs ()
-
Returns a merged list of GroundAOEs and DirectionalAOEs.
Due to the nature of this function, this list is always in order.
Returns:
-
table
Merged list of GroundAOEs and DirectionalAOEs.
- Argus.getCurrentDirectionalAOEs ([inOrder=false])
-
Returns list of current AOEs that are cast on the ground where each key is the entityID source, and value is the DirectionalAOE structure.
These are not attached to an entity (they do not originate from an entity centerpoint).
Also returns AOEs before the telegraphs are drawn, and returns AOEs with no telegraphs.
Parameters:
- inOrder bool If true, then the AOEs will return in order of appearance, instead of having each key be entityID. (default false)
Returns:
-
table
List of DirectionalAOE, keys based on inOrder
- Argus.getCurrentGroundAOEs ([inOrder=false])
-
Returns list of current AOEs that are on the ground where each key is the entityID source, and value is the DirectionalAOE.
These are attached to an entity (they originate from the source entity's center point).
Most commonly used for line AOEs, conals, and donuts, but also includes circles.
Also returns AOEs before the telegraphs are drawn, and returns AOEs with no telegraphs.
Parameters:
- inOrder bool If true, then the AOEs will return in order of appearance, instead of having each key be entityID. (default false)
Returns:
- Argus.getCurrentTethers ()
-
Returns table where each key is number entityID and each value is table tethers.
The list is all active tethers/chains/links between 2 entities.
Each tether table has the following values: number type, number targetID.
This type is similar to overhead marker types, each type will have exactly the same animation for every instance that shares that type (ex type 2 tethers will always look the same).
However, how or when the tether resolves, is not known to the client.
Returns:
-
table
List where each key is number entityID and each value is table tethers.
Usage:
-- simple function to print all tethers on player local tethers = Argus.getCurrentTethers() for id, ts in pairs(tethers) donut for t = 1, #ts do -- there can be multiple tethers going from one entity local tether = ts[t] if tether.targetid == Player.id then d("Entity " .. id .. " is tethered to player with type " .. tether.type) end end end
- Argus.registerOnEntityCast (func)
-
Registers func into entity cast func list.
This func will get called any time the server sends a successful entity cast packet to the client.
This means that this function is almost 100% reliable to use.
Parameters:
- func onEntityCastFunc
- Argus.registerOnEntityChannel (func)
-
Registers func into entity channel func list.
This func will get called any time the server sends a packet to the client, that entity has begun channeling.
This means that the function is almost 100% reliable to use.
Parameters:
- func onEntityChannelFunc
- Argus.registerOnMarkerAdd (func)
-
Registers func into marker func list, and func will get called any time there is an overhead marker added to an entity.
Parameters:
- func onMarkerAddFunc
- onEntityCastFunc (entityID, actionID)
-
Parameters:
- entityID int ID of the caster
- actionID int Spell ID of action being casted
- onEntityChannelFunc (entityID, channelID, targetID, channelTimeMax)
-
Parameters:
- entityID int ID of the caster
- channelID int Spell ID of the ability being channeled
- targetID int Target that the spell is being channeled on
- channelTimeMax number How long the cast will be channeled for
- onMarkerAddFunc (entityID, markerType)
-
Parameters:
- entityID int The id of the entity to which the marker is being added to.
- markerType int 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.