User Tools

Site Tools



argusdocs

This is an old revision of the document!


Argus documentation

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:

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:

    table List of GroundAOE, keys based on inOrder.
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:

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:

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:

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.
generated by LDoc 1.4.6 Last updated 2021-01-16 21:42:25

argusdocs.1610862180.txt.gz · Last modified: 2021/01/17 05:43 by rikudou