From the wonderful RedGuides Wiki

Spell information

This Data Type is referenced in MacroQuest, and accessed by Top-Level Object(s): Spell
spell is used as a return type by these members:  [ Toggle ]

Page Member Description
altability Spell Spell used by the ability (if any)
buff The spell
cachedbuff Access the spell type
Cast Effect Returns the name of the spell being cast, or a NULL string if not casting.
Stored Returns the last spell that was cast, or NULL if no spell has been cast.
character ActiveDisc Returns a spell if melee discipline is active.
Book[#] Spell assigned to this slot # in your spellbook
CombatAbility[#] Returns the name of Combat Ability # in your list (not the same as anyone else's list!)
Gem[#] The name of the spell in this slot #
PetBuff[#] The spell in this PetBuff slot #
Spell[#|name] Searches by id or name, returns the full spell name
item Spell Spell effect
NetBots Buff[#] The name of the buff [Name] has in slot <#>
Casting the spell [Name] is casting
PetBuff[#] The buff [Name]'s pet has in slot <#>
ShortBuff[#] Name of the short duration buff [Name] has in slot <#>
spawn Casting Spell, if currently casting (only accurate on yourself, not NPCs or other group members)
spell RankName Returns the spell/combat ability name rank character has.


Type Member Description
action Inspect Open an inspect window for the spell
bool Beneficial
Deletable If spell can be deleted from spellbook
Dispellable returns true if a spell can be dispelled
IllusionOkWhenMounted Can you mount with that illusion?
IsSkill is this spell a skill?
IsSwarmSpell Is this spell a Swarm spell?
StacksPet[duration] Does the selected spell stack with your pet's current buffs (duration is in ticks)
StacksSpawn[#|name] Stack on spawn?
StacksTarget Does the selected spell stack with your target's current buffs
Stacks[duration] Alias: NewStacks. Does the selected spell stack with your current buffs? Duration is in ticks.
WillStack[name] Alias: StacksWith, NewStacksWith. If a spell stack with another spell. Does not work with AAs.
float AERange AE range (group spells use this for their range)
MyRange Adjusted spell range, including focus effects, etc.
PushBack Push back amount
Range Maximum range to target (use AERange for AE and group spells)
int ActorTagId
CategoryID category ID this spell belongs to
DurationValue1 Duration of the spell (if any)
GemIcon Icon number of the spell. Example ${Spell[blah].GemIcon}
HastePct Percentage of haste, example of use ${Me.Hasted.HastePct} or ${Spell[Speed of Milyex].HastePct}
ID spell id
Location Appears to be max distance
Mana Mana cost (unadjusted)
MinCasterLevel Reports the minimum class level of a spell. A use case is when you want to check if your spell is too powerful for the intended target.
Rank Returns either 1, 2 or 3 for spells and 4-30 for clickables and potions.
ResistAdj Resist adjustment
SlowPct Percentage of slow, example of use ${Target.Slowed.SlowPct} or ${Spell[Slowing Helix].SlowPct}
SpellIcon ID of the icon used for the spell. You may also use "BookIcon" or "GemIcon"
SubcategoryID ID of the subcategory for the spell.
WillLand This is like stacks but without the duration check. It's a clean: "Will this spell land." Returns the slot it would land in.
WillLandPet Same as WillLand but for your pet.
int64 Base
CounterNumber The number of counters that the spell adds
spell RankName Returns the spell/combat ability name rank character has.
string BaseName Removes rank information from spell
CastOnAnother Message when cast on others
CastOnYou Message when cast on yourself
Category The category name of the spell
CounterType The resist counter. Will be one of "Disease", "Poison", "Curse" or "Corruption"
Link Generate a clickable spell link.
Link[text] Generate a clickable spell link, <text> replaces the text of the link.
Name spell name
ResistType Returns one of the following: Corruption, Physical, Prismatic, Chromatic, Disease, Poison, Cold, Fire, Magic, Unresistable, Unknown
Skill Will return spell skill. e.g. Abjuration, Alteration, Conjuration, Divination, Evocation
SpellType "Beneficial(Group)", "Beneficial", "Detrimental" or "Unknown"
Subcategory The subcategory name of the spell
TargetType Returns one of the following: Target_AE_No_Players_Pets, Single Friendly (or Target's Target, Pet Owner, Target of Target, Free Target, Beam, Single in Group, Directional AE, Group v2, AE PC v2, No Pets, Pet2, Caster PB NPC, Caster PB PC, Special Muramites, Chest, Hatelist2, Hatelist, AE Summoned, AE Undead, Targeted AE Tap, Uber Dragons, Uber Giants, Plant, Corpse, Pet, LifeTap, Summoned, Undead, Animal, Targeted AE, Self, Single, PB AE, Group v1, AE PC v1, Line of Sight, Unknown
WearOff The "wear off" message
ticks Duration Duration of the spell (if any)
timestamp CastTime Cast time (unadjusted)
FizzleTime Alias: RecoveryTime. Time to recover after fizzle.
MyCastTime Adjusted cast time
RecastTime Time to recast after successful cast


  • /echo ${Me.Spell[Spirit of Wolf].ID}

Output: 278

  • /echo ${Me.Spell[278].Name}

Output: Spirit of Wolf

  • /echo I have the ${Spell[Certitude].RankName} version of Certitude. - Spell

Outputs: I have the Certitude Rk. II version of Ceritude.

  • /cast "${Spell[Vinespur].RankName}" in your macro will cast it, since its going to be resolved as /cast "Vinespur Rk. II"
  • /echo My version of Rest is: ${Spell[Rest].RankName} - Combat ability

Outputs: My version of Rest is: Rest Rk. II


Spell variables can be assigned these types with Command:/vardata:

  • int: assigns by spell id
  • string: assigns by spell name
  • spell: copies a spell stored in another variable.

Spell variables can also be assigned an ID or name with Command:/varset.

See also