EverQuest Legends logo

Socials & Macro Forge

Everything the game manual tells you about hotbuttons and socials — plus a forge that builds, validates, and exports your macros for you.

Chapter I

What Macros Are (and Aren't)

EverQuest Legends' built-in macro system — officially called Socials — binds up to five slash commands to a single hotbutton. Every macro is a stack of the same /commands you could type into the chat bar by hand: casting, targeting, chat calls, emotes, pet orders, and ability activation.

What socials are not is automation. There are no loops, no conditionals, no reactive triggers. A macro fires once per press, runs its lines top to bottom, and stops. That five-line ceiling is a feature: it forces every button to do one job well.

Know Your ServerEverQuest Legends is classically styled, but it ships with many conveniences from later eras. Unlike strict classic-timeline servers, Legends supports /melody for bards, /useitem (including by item name), the Bandolier for weapon-set swapping, saved Spell Sets, macro interruption by re-clicking the button, and Alt+18 to cast gems from the keyboard. If a guide written for another server tells you a command "doesn't exist yet," check here first — on Legends, it probably does.

Creating a Social, Step by Step

  1. Open the Actions window and click the Socials tab. The pre-set socials on the first page are worth reading — the manual itself suggests using them as examples for your own.
  2. Page past the pre-filled buttons to an empty slot and right-click it once. The Edit Social window pops up.
  3. Give it a short name (that's the button label) and pick a text color.
  4. Fill in up to five command lines, then accept.
  5. Click-and-hold the new button to lift it onto your cursor, then drop it into a hotbutton slot. Press the matching number key to fire it. With ten pages of ten hotbuttons per bar, there's room for a full library.
ShortcutYou can also type /hotbutton NAME to create a blank, fully-editable hotbutton directly — right-click it afterward to open the edit window. Right-clicking any social hotbutton reopens the Edit Socials window; the right-click context menu also lets you assign icons, labels, and existing socials to buttons.
Running Out of Room?Right-click an empty spot on your hotbar and choose Open New Bar to add a whole extra bar of buttons. The same menu can save, load, and delete entire hotbutton sets — build one loadout for grouping and another for raiding, and swap between them in two clicks.

Baby's First Macro

Every fresh Legends character walks out of the tutorial with a pair of Boots of the Long Road — a clicky item, and the perfect first macro. Make a new social named BOOTS with these two lines, swapping CharacterName for your own name:

/target CharacterName ; target yourself first /useitem Boots of the Long Road ; click the boots by name

Line one targets you, so the click lands on yourself no matter what you had targeted. Line two activates the boots without ever opening your inventory — /useitem works by item name on Legends. Drop the button on your hotbar, press it, and you've just automated your first item click. Every macro in this guide is that same idea, scaled up.

Loadable in the Forge below as "Baby's first macro (tutorial boots)" — just change the name.

Chapter II

The Core Rules

Six constraints define everything about macro design in Legends. Internalize these and every macro in the library below will read like plain English.

Five lines maximum

One command per line, with a single exception: /pause may share a line with another command, separated by a comma.

/pause fires AFTER its linemate

/pause 15, /cast 2 means "cast gem 2, then wait 1.5 seconds" — even though the pause is typed first. This is the single most misunderstood rule in the system.

Pauses are tenths of a second

/pause takes 1–600. /pause 10 ≈ 1 second; /pause 600 = one full minute. Values run slightly fast in practice, so pad for lag and server ticks.

One pause chain at a time

While one social is mid-pause, you can't run any others. Keep pauses short and purposeful. You can interrupt a running macro by clicking its hotbutton again or starting another macro.

/cast 1–12, /doability by name

/cast # fires the spell in that gem of your Spells window (gems 1–12). /doability takes numbers (1–6 Abilities, 7–10 Combat Skills) or names: /doability kick, /doability Offensive Stance, /doability Over Channel.

Annotate with semicolons

Anything after ; on a line is ignored — leave yourself notes for when you revisit a macro months later.

Anatomy of a Real Macro: the Fizzle-Proof Heal

The classic teaching example. Assume your heal sits in gem 2:

/stand ; insurance if you were medding /cast 2 ; cast the heal /pause 15, /cast 2 ; retry catches a fizzle /g Healing <<< %T >>> ; announce the target /sit ; back to medding

If the first cast landed, the retry line does nothing — you're already mid-cast. If it fizzled, the retry catches it. That redundant-cast trick appears in nearly every casting macro worth using. Match the pause to cast time plus lag padding: a 1.0s cast wants /pause 15; a 5.0s cast wants /pause 55. (The Forge below calculates this for you.)

Chapter III

Text Substitution Variables

The game replaces these % tokens in chat output with live values. They're the backbone of every good group-communication macro — /g Incoming %T ! announces exactly what you're pulling, every time, with zero typing.

VariableReplaced with
%TYour current target's name — by far the most used
%STarget's subjective pronoun (He / She / It)
%OTarget's objective pronoun (Him / Her / It)
%PTarget's possessive pronoun (His / Her / Its)
%RTarget's race — only works on player characters
%MYour pet's name (when you have one)

Keep whitespace on both sides of a variable to be safe — some clients need spaces around the token to parse it.

Chapter IV

The Slash Command Toolbox

Any slash command can live in a social. These are the ones that matter most, grouped by purpose.

Combat & Casting

/cast 1/cast 12Cast the spell memorized in that gem slot — Alt+18 does the same from the keyboard
/attackToggle melee auto-attack on or off
/assist or /assist NameTarget your target's target if within 200 feet (or a named player's target)
/assist on / offBy default, assisting auto-turns attack on — this toggles that behavior to taste
/doability NameFire any Ability, Stance, or Invocation by name — /doability kick, /doability Evasive Stance, /doability Inversion (see Chapter V)
/doability 16 / 710Numbered form: 1–6 fires Abilities from the abilities page, 7–10 fires Combat Skills
/melody 8 2Bard: repeat the listed song gems in order until stopped — see Bard Corner below
/queuemelody 1 2 3 4Bard: the smart melody — automatically plays the song expiring soonest to keep buffs up through stuns, fizzles, and restarts
/useitem Item NameClick an item's effect without opening bags — works by item name on Legends
/alt activate IDFire an activated AA directly by ID (/alt list shows yours) — or create the hotkey from the AA window's Hotkey button
/stopcast / /stopsongInstantly interrupt your cast or song — the manual calls these "particularly useful in a hotkey" (note: /stopcast won't work while mounted)
/duckThe old-school cast interrupt

Movement & Position

/sit / /standSit to med, stand to act — /stand as line 1 is cheap insurance
/locPrint your coordinates — handy on a hotbutton for marking camps, naming meetup spots, or calling positions
/followAuto-follow your target

Communication

/g · /rs · /guGroup · raid · guild chat
/say · /ooc · /shout · /aucLocal and zone-wide channels
/tell Name · /tt · /rtPrivate tell · tell your current target · target whoever last sent you a tell
/1/10Numbered chat channels (/join, /leave, /list to manage)
/vplay · /vtell · /vgroup · /vraidSend voice macros from the chat line — voice-macro hotbuttons can be edited like any other

Pets

/pet targetTarget your own pet — the fast lane for landing heals and buffs without clicking around
/pet attack / /pet back offSic your pet on your target · call it off
/pet guard here / /pet follow mePositioning
/pet report / /pet healthPet reports HP % and buffs
/pet who leaderAny pet names its master — great for spotting whose charm broke

Utility & Information

/who lfg · /who all clr lfg 50 60Player searches — any filter chain can live on a button
/book 150Open your spellbook to a page (bare /book toggles it)
Spell SetsRight-click the spellbook icon on the spell gems window → Save / Load Spell Set — swap your whole loadout in one go
/autosplit onAutomatically split looted coin with your party
/autoinventoryDrop the item on your cursor into your bags
/hidecorpse looted / all / noneCorpse-clutter control
/bandolier activate SetNameSwap to a saved weapon set — or make a hotbutton straight from the Bandolier window
/report · /petitionCapture the last ten chat lines for the GMs · file a request
/logToggle chat logging to a text file
Chapter V

Stances, Abilities & Invocations

On Legends, /doability takes names, not just numbers — and that's the key to macroing the server's signature Stance and Invocation systems.

; Stances (melee, endurance-fueled) /doability Offensive Stance /doability Evasive Stance ; Abilities (active skills) /doability kick /doability Bind Wound ; Invocations (magic, mana-fueled) /doability Over Channel /doability Inversion

Every character has one Stance and one Invocation active at all times, gained at level 1. Swapping has a short six-second reuse (stances and invocations run on separate timers), and both systems fall back to a resting default that speeds recovery. Changing stances and invocations mid-combat has a name — Stance Dancing — and because the swaps are plain /doability calls, it belongs on hotbuttons: pair the swap with an announce or an opener and the whole dance step becomes one keystroke.

Stances

Stances trade endurance for combat posture — more damage, less damage taken, evasion, or ranged freedom. Highlights:

StanceIn brief
Balanced StanceThe resting default — modest offense/defense bonus with accelerated endurance recovery
Offensive StanceHit much harder and more often; the bonus damage draws from endurance
Defensive StanceHeavy melee mitigation for tanks; prevented damage is paid in endurance
Evasive StanceEvade nearly everything while endurance lasts — the monk/rogue/ranger panic-and-pull tool
Mage Hunter StanceThe anti-caster mirror of Defensive — soak spell damage instead of melee
Ranged StanceBows and throwing with no minimum range and improved accuracy
Striker StanceMassively amplified ability damage — kick, bash, and special-attack builds
Berserker StanceFrenzied speed and damage at a price paid in your own health and endurance
Channeler StanceThe caster's stance — mitigation and channeling, billed to mana and endurance

Invocations

Invocations shape your spellcasting — speed, potency, resist penetration, or sustain. Highlights:

InvocationIn brief
RecoveryThe resting default family — faster mana regeneration and cheaper casts
Arcane MasteryFaster casting and recovery, discounted detrimental spells
Over ChannelPunch through resists at a steep endurance cost — the "make it land" button
EmpowerBigger damage and healing numbers in exchange for more mana per cast
InversionShifts most of your cast time into recovery time — front-load the spell, pay afterward
InviolableUninterruptible casting at double cost — for bards and wizards who refuse to be stopped
DivineMana you spend also heals the most wounded member of your group
SpellbladeTurns your first spell gem into a melee proc for hybrid classes
UnyieldingDoubled health regeneration and resistance to fear, mez, and charm

Stance Dancing: the Toggle Trick

Stack two stances — or two invocations, or both — in one social and the button becomes a switch: each press swaps you to whichever of the pair isn't currently active, any time the six-second reuse is up. One catch: invocations can't be switched while you're casting or singing, so lead the macro with /stopsong (or /stopcast for casters) to clear the way. This example switches both your Invocation and your Stance every time it's pressed:

/stopsong /doability unyielding /doability inviolable /doability offense stance /doability striker stance

Set which pair you want active first — subsequent presses switch automatically to the other pair. If you'd rather not interrupt yourself, skip the stop line and time your presses between casts instead.

A defensive variant — swap between Balanced and Evasive while pinning Unyielding for the regeneration, with a heal folded in:

/stopsong ; or /stopcast — or both, per your build /doability balanced stance /doability evasive stance /doability unyielding /doability mend

Balanced can easily be switched out for Defensive, or Defensive can be supplemented on additional lines — the pattern bends to whatever postures your class dances between. The /doability mend tail adds a heal (whenever it's off cooldown) into the very act of switching to a more defensive style. And because Unyielding is an invocation, the casting rule applies: depending on your build, lead with /stopsong, /stopcast, or even both.

No Pauses in TogglesNever put a /pause in a stance or invocation toggle macro. Pauses cause the button to appear to malfunction. Toggle macros should be nothing but the /doability lines, plus at most an instant lead-in like /stopsong or /stopcast.

Abilities

Any active skill can be fired by name the same way: /doability kick, /doability Taunt, /doability Bind Wound, /doability Feign Death, /doability Mend, /doability Lay on Hands, /doability Sneak, /doability Hide, /doability Forage, and so on. Names must match the in-game spelling. The numbered form (/doability 110) still works for slotted abilities, but names are self-documenting — six months from now, /doability Taunt still tells you what the button does.

Full listings: Stances & Invocations and the Active Skills section of Skills on the EverQuest Legends Wiki.

Chapter VI

A Macro Library by Role

Battle-tested patterns. Every one of these can be loaded straight into the Forge below — pick it from the template scroll and adjust names and gem numbers to fit.

Puller

/g Incoming %T ! Watch for adds.

One line, endlessly useful. "Incoming %T" tells the group something; "incoming mob" doesn't.

Main Assist / DPS

/assist Tankname /attack on

Hard-code your tank's name, or leave /assist bare to assist your current target. On Legends, assisting turns auto-attack on by default — /assist off toggles that behavior if you'd rather it didn't (it's the Attack on Assist setting). The double-assist variant lets you see the MA's target without swinging:

/target Mainassist /pause 1 /assist

Buff-on-Tell (the raid buffer's best friend)

/rt /pause 3, /cast 2 /tt Buffing you now, %T /pause 3, /cast 2

/rt targets whoever last sent you a tell, so people queue up buffs just by messaging you.

Pet Opener

/pet attack /g %M is on %T !

Pet Heal

/pet target /cast 3 /pause 15, /cast 3

/pet target snaps your target to your own pet instantly — no clicking around mid-fight — and the usual fizzle catch does the rest. The same lead line works for pet buffs and pet-only utility spells.

Melee Ability Spam

/doability kick /doability Taunt /doability Bash

Names beat numbers here — the macro documents itself. The numbered form works too if you prefer slots.

Stance & Invocation Toggle

/stopsong /doability unyielding /doability inviolable /doability offense stance /doability striker stance

The whole combat posture on one button — each press swaps to the other stance/invocation pair, the heart of Stance Dancing (see Chapter V). Invocations can't switch mid-cast or mid-song, hence the /stopsong lead (use /stopcast for casters, or time presses between casts). Keep /pause out of toggle macros; pauses make the button appear to malfunction.

The defensive counterpart — Balanced ↔ Evasive with Unyielding pinned for regen and Mend folded in, so switching defensive also heals whenever Mend is off cooldown (swap Balanced for Defensive to taste; choose /stopsong, /stopcast, or both to lead, per your build):

/stopsong ; or /stopcast — or both /doability balanced stance /doability evasive stance /doability unyielding /doability mend

The Tutorial Boots Button

/target CharacterName /useitem Boots of the Long Road

The boots every character brings home from the tutorial deserve a permanent button. Target yourself first so the click always lands on you, no matter what you were fighting — just swap in your own name.

Bard Corner

Bards live and die by macros more than any other class — and on Legends, they get the best of both eras, because /melody works here. /melody 1 2 3 4 repeats the songs in those gems, in order, indefinitely, until you stop it — no more manual double-tapping to keep a twist pulsing.

One catch: pressing a melody macro a second time stops the melody. The fix is to lead with /stopsong — every press then restarts the melody from the top, so it casts reliably no matter how many times you mash it:

/stopsong ; and/or /stopcast /melody 1 2 3 4 /attack on

One press starts the twist and the swinging, and pressing it again simply starts the rotation over. Melody also does your fizzle-catching for you — a fizzled song just gets retried on the next pulse.

Then there's the smart version. /queuemelody 1 2 3 4 5 plays the same rotation, but instead of marching strictly in order it automatically plays whichever song will expire soonest. The point is maximum buff uptime: songs that got missed or skipped — stuns, fizzles, restarted melodies, anything that forces the rotation to reset — get priority instead of waiting their turn. It pairs perfectly with the /stopsong lead: even though every press restarts the melody, the queue immediately re-prioritizes whatever lapsed.

/stopsong /queuemelody 1 2 3 4 /attack on

Single-song buttons still matter. Melody shines for a fixed rotation, but your twist changes constantly with mez targets and mob resist types — for manual control, keep one song per button with a classic fizzle catch:

/stopsong /cast 1 /pause 3, /cast 1

A fully manual multi-song twist is also still an option when you want precise pulse timing on a fixed set:

/cast 1 /pause 30, /cast 2 /pause 30, /cast 3

The item-clicky button. Another real Legends pattern — stop your song, target yourself, click an item by name:

/stopsong /target Yourname /useitem Boots of the Long Road

Also bind a dedicated stopcast key in the keybind options: a /stopsong macro line can't cut a song until most of the cast bar has run, but a bound key can cut it anywhere.

Chapter VII · Interactive

⚒ The Macro Forge

Build a social exactly as the in-game Edit Social window would — then let the Forge validate the rules, preview the hotbutton, simulate the chat output, and export the finished macro.

Edit Social

Double-click any line to copy just that line — the in-game Edit Social window is filled in one line at a time.

Insert:
→ suggested /pause 40
Cast time + ~0.5s padding for lag and server ticks, in tenths of a second.

Hotbutton Preview

BIGHEAL1

Drop it in a hotbutton slot and the faint number is the key that fires it. Right-click a placed social button to edit it again.

Export

Socials live as plain text in CharacterName_server.ini in your EQ directory. Edit only with the game fully closed. Backing up this file makes your whole macro library portable between characters — and pasting special characters (♫ ♥ ☺) into a line via a UTF-8-capable editor unlocks symbols the in-game edit box can't type.

Character INI — Import & Write Back

Load your CharacterName_server.ini from your EQ directory to browse every social already on your character. Click any button below to open it in the Forge, edit it (or forge a brand-new one at an empty page/button), then write it back and download the updated file. The Forge only ever touches Page#Button#Name/Color/Line# entries — your hotbar assignments, keymaps, and every other setting pass through byte-for-byte, and a social's button color is preserved unless you pick a new one. The first time you write, a timestamped backup of the untouched original (e.g. Miranda_rivervale_LO1-070226-141530.ini) downloads automatically. Swap files only with the game fully closed — EQ overwrites the INI on logout. Nothing is uploaded anywhere; the file is read entirely in your browser.

No file loaded yet.

Chapter VIII

Design Principles, Distilled

1 · Line 1 is insurance

/stand costs nothing and saves you from the "why am I not casting" moment.

2 · Every cast gets a fizzle catch

A second /cast after an appropriate pause is free redundancy.

3 · Announce with %T, not adjectives

"Incoming %T" tells the group something. "Incoming mob" doesn't.

4 · Pad your pauses

Cast time + ~0.5s covers lag and server ticks.

5 · Short beats clever

Five lines is a feature. If you're fighting the pause system, split it into two buttons.

6 · Read the pre-sets

The game ships with example socials for a reason — steal their patterns.

Copied to clipboard