Skip to content

effect

One icon on a buff or detriment bar. Icon and timing data only — there is no name at this tier.

Returned as array elements by actor.Effects(), Me.Detriments(), and Me.Maintained().

Unlike the other object types on this site, an effect is a plain table of values, not of functions — read its fields directly:

for _, e in ipairs(mq.TLO.Me.Maintained()) do
  eq2.print(("id=%d icons=%d/%d"):format(e.ID, e.MainIconID, e.BackdropIconID))
end

Fields

Field Type Notes
ID number Effect id.
MainIconID number Main icon id.
BackdropIconID number Backdrop icon id. Note the lowercase dability spells the same concept BackDropIconID.
MaxDuration number The static duration cap in seconds. Not a ticking remaining-time.
AppliedAt number Timestamp the effect was applied.

MaxDuration and AppliedAt are present on Me.Detriments() and Me.Maintained() only. The remote-actor Effects() array carries ID, MainIconID, and BackdropIconID.

Getting a name

There isn't one in this table. To ask "is buff X up", go the other direction — resolve the name to icons through the ability cache and test for those icons:

-- Preferred: by name, on any actor
if mq.TLO.Target.Buff("Mythical Blessing") then ... end

-- Self, more precise (reads the maintained bar directly)
if mq.TLO.Me.Buff("Mythical Blessing") then ... end

The low-level form, when you already have icon ids in hand, is HaveMaintainedIcon / HaveDetrimentalIcon.

Cure classes

Me.Detriments() tells you what icons are on your detriment bar; it does not tell you which cure clears them. That lives in the affliction counters — see Me.Afflictions().

See also