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 d — ability 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