MB.Macros.Library = {
  GENERAL = {
    -- Value-add utility (not just “press the button”)
    {
      name = "StopCast",
      category = "Utility",
      tags = {"quality-of-life", "pvp"},
      iconHint = "Interface\\Icons\\Spell_Shadow_SacrificialShield",
      body = B(
        "#showtooltip",
        "/stopcasting"
      ),
    },
    {
      name = "TgtEnemy",
      category = "Utility",
      tags = {"leveling", "pve"},
      iconHint = "Ability_Hunter_SniperShot",
      body = B(
        "#showtooltip",
        "/targetenemy [noharm][dead]",
        "/startattack"
      ),
    },
    {
      name = "AssistFocus",
      category = "Utility",
      tags = {"raid", "group"},
      iconHint = "Ability_Hunter_MarkedForDeath",
      body = B(
        "#showtooltip",
        "/assist [@focus,exists,nodead]",
        "/startattack"
      ),
    },
    {
      name = "ClearTarget",
      category = "Utility",
      tags = {"quality-of-life"},
      iconHint = "INV_Misc_QuestionMark",
      body = B("/cleartarget"),
    },
    -- Eat/drink macro is still value-add (multiple common items; users can edit)
    {
      name = "EatDrink",
      category = "Utility",
      tags = {"leveling", "quality-of-life"},
      iconHint = "INV_Drink_11",
      body = B(
        "#showtooltip",
        "/use Conjured Water",
        "/use Conjured Food",
        "/use Refreshing Spring Water",
        "/use Morning Glory Dew"
      ),
    },
  },

  CLASS = {
    DRUID = {
      {
        name = "RebirthMO",
        category = "Class",
        tags = {"raid", "utility"},
        iconHint = "Rebirth",
        body = B(
          "#showtooltip Rebirth",
          "/cast [@mouseover,help,nodead] Rebirth; Rebirth"
        ),
      },
      {
        name = "InnervMO",
        category = "Class",
        tags = {"raid", "utility"},
        iconHint = "Innervate",
        body = B(
          "#showtooltip Innervate",
          "/cast [@mouseover,help,nodead] Innervate; Innervate"
        ),
      },
      {
        name = "RemoveCurse",
        category = "Class",
        tags = {"pve", "raid"},
        iconHint = "Remove Curse",
        body = B(
          "#showtooltip Remove Curse",
          "/cast [@mouseover,help,nodead] Remove Curse; Remove Curse"
        ),
      },
      {
        name = "FormCancel",
        category = "Class",
        tags = {"quality-of-life"},
        iconHint = "Cat Form",
        body = B("/cancelform"),
      },
      {
        name = "BearBash",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Bash",
        body = B(
          "#showtooltip Bash",
          "/cast [nostance:1] Bear Form",
          "/cast Bash"
        ),
      },
      {
        name = "TravelAuto",
        category = "Class",
        tags = {"quality-of-life"},
        iconHint = "Travel Form",
        body = B(
          "#showtooltip",
          "/cast [swimming] Aquatic Form; [outdoors] Travel Form; Cat Form"
        ),
      },
      {
        name = "HoTMO",
        category = "Class",
        tags = {"pve", "raid"},
        iconHint = "Rejuvenation",
        body = B(
          "#showtooltip Rejuvenation",
          "/cast [@mouseover,help,nodead] Rejuvenation; Rejuvenation"
        ),
      },
      {
        name = "NSHT",
        category = "Class",
        tags = {"pvp", "raid"},
        iconHint = "Nature's Swiftness",
        body = B(
          "#showtooltip Nature's Swiftness",
          "/stopcasting",
          "/cast Nature's Swiftness",
          "/cast [@mouseover,help,nodead] Healing Touch; Healing Touch"
        ),
      },
    },

    HUNTER = {
      {
        name = "PetAtk",
        category = "Class",
        tags = {"leveling", "pve"},
        iconHint = "Pet Attack",
        body = B(
          "#showtooltip",
          "/petattack [@target,harm,nodead]",
          "/cast Auto Shot"
        ),
      },
      {
        name = "PetFollow",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Pet Follow",
        body = B("/petfollow"),
      },
      {
        name = "Misdirect",
        category = "Class",
        tags = {"raid", "utility"},
        iconHint = "Misdirection",
        body = B(
          "#showtooltip Misdirection",
          "/cast [@focus,help,nodead] Misdirection; [@pet,exists,nodead] Misdirection; Misdirection"
        ),
      },
      {
        name = "TranquilMO",
        category = "Class",
        tags = {"raid", "pve"},
        iconHint = "Tranquilizing Shot",
        body = B(
          "#showtooltip Tranquilizing Shot",
          "/cast [@mouseover,harm,nodead] Tranquilizing Shot; Tranquilizing Shot"
        ),
      },
      {
        name = "ViperSting",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Viper Sting",
        body = B(
          "#showtooltip",
          "/cast [mod:shift] Scorpid Sting; [mod:ctrl] Serpent Sting; Viper Sting"
        ),
      },
      {
        name = "FeignTrap",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Feign Death",
        body = B(
          "#showtooltip Feign Death",
          "/stopcasting",
          "/cast Feign Death",
          "/cast [combat] Freezing Trap"
        ),
      },
      {
        name = "Aspect",
        category = "Class",
        tags = {"quality-of-life"},
        iconHint = "Aspect of the Hawk",
        body = B(
          "#showtooltip",
          "/cast [mod:shift] Aspect of the Viper; [mod:ctrl] Aspect of the Cheetah; Aspect of the Hawk"
        ),
      },
      {
        name = "KillCmd",
        category = "Class",
        tags = {"pve"},
        iconHint = "Kill Command",
        body = B(
          "#showtooltip Kill Command",
          "/cast Kill Command",
          "/cast [@target,harm,nodead] Arcane Shot"
        ),
      },
    },

    MAGE = {
      {
        name = "CSFocus",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Counterspell",
        body = B(
          "#showtooltip Counterspell",
          "/stopcasting",
          "/cast [@focus,exists,harm,nodead] Counterspell; Counterspell"
        ),
      },
      {
        name = "PolyFocus",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Polymorph",
        body = B(
          "#showtooltip Polymorph",
          "/cast [@focus,exists,harm,nodead] Polymorph; Polymorph"
        ),
      },
      {
        name = "DecurseMO",
        category = "Class",
        tags = {"raid", "pve"},
        iconHint = "Remove Lesser Curse",
        body = B(
          "#showtooltip Remove Lesser Curse",
          "/cast [@mouseover,help,nodead] Remove Lesser Curse; Remove Lesser Curse"
        ),
      },
      {
        name = "IceBlock",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Ice Block",
        body = B(
          "#showtooltip Ice Block",
          "/stopcasting",
          "/cast Ice Block"
        ),
      },
      {
        name = "IVTrinket",
        category = "Class",
        tags = {"pve", "raid"},
        iconHint = "Icy Veins",
        body = B(
          "#showtooltip Icy Veins",
          "/use 13",
          "/use 14",
          "/cast Icy Veins"
        ),
      },
      {
        name = "EvocStop",
        category = "Class",
        tags = {"pve"},
        iconHint = "Evocation",
        body = B(
          "#showtooltip Evocation",
          "/stopcasting",
          "/cast Evocation"
        ),
      },
      {
        name = "FoodWater",
        category = "Class",
        tags = {"quality-of-life"},
        iconHint = "Conjure Water",
        body = B(
          "#showtooltip",
          "/cast [mod:shift] Conjure Food; Conjure Water"
        ),
      },
    },

    PALADIN = {
      {
        name = "CleanseMO",
        category = "Class",
        tags = {"raid", "pve"},
        iconHint = "Cleanse",
        body = B(
          "#showtooltip Cleanse",
          "/cast [@mouseover,help,nodead] Cleanse; Cleanse"
        ),
      },
      {
        name = "FreedomMO",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Blessing of Freedom",
        body = B(
          "#showtooltip Blessing of Freedom",
          "/cast [@mouseover,help,nodead] Blessing of Freedom; Blessing of Freedom"
        ),
      },
      {
        name = "BoPMO",
        category = "Class",
        tags = {"raid", "pvp"},
        iconHint = "Blessing of Protection",
        body = B(
          "#showtooltip Blessing of Protection",
          "/cast [@mouseover,help,nodead] Blessing of Protection; Blessing of Protection"
        ),
      },
      {
        name = "SacMO",
        category = "Class",
        tags = {"raid", "utility"},
        iconHint = "Blessing of Sacrifice",
        body = B(
          "#showtooltip Blessing of Sacrifice",
          "/cast [@mouseover,help,nodead] Blessing of Sacrifice; Blessing of Sacrifice"
        ),
      },
      {
        name = "JudgeSeal",
        category = "Class",
        tags = {"pve"},
        iconHint = "Judgement",
        body = B(
          "#showtooltip",
          "/cast Judgement",
          "/cast [nomod] Seal of Command; [mod:shift] Seal of Righteousness; [mod:ctrl] Seal of Wisdom; Seal of Command"
        ),
      },
      {
        name = "RDQuick",
        category = "Class",
        tags = {"tank", "raid"},
        iconHint = "Righteous Defense",
        body = B(
          "#showtooltip Righteous Defense",
          "/cast [@mouseover,help,nodead] Righteous Defense; [@target,help,nodead] Righteous Defense; [@targettarget,help,nodead] Righteous Defense; Righteous Defense"
        ),
      },
      {
        name = "BubbleHS",
        category = "Class",
        tags = {"quality-of-life"},
        iconHint = "Divine Shield",
        body = B(
          "#showtooltip Divine Shield",
          "/cast Divine Shield",
          "/use Hearthstone"
        ),
      },
    },

    PRIEST = {
      {
        name = "DispelMO",
        category = "Class",
        tags = {"raid", "pve"},
        iconHint = "Dispel Magic",
        body = B(
          "#showtooltip Dispel Magic",
          "/cast [@mouseover,help,nodead] Dispel Magic; Dispel Magic"
        ),
      },
      {
        name = "MDStop",
        category = "Class",
        tags = {"pvp", "raid"},
        iconHint = "Mass Dispel",
        body = B(
          "#showtooltip Mass Dispel",
          "/stopcasting",
          "/cast Mass Dispel"
        ),
      },
      {
        name = "ShieldMO",
        category = "Class",
        tags = {"raid"},
        iconHint = "Power Word: Shield",
        body = B(
          "#showtooltip Power Word: Shield",
          "/cast [@mouseover,help,nodead] Power Word: Shield; Power Word: Shield"
        ),
      },
      {
        name = "RenewMO",
        category = "Class",
        tags = {"raid"},
        iconHint = "Renew",
        body = B(
          "#showtooltip Renew",
          "/cast [@mouseover,help,nodead] Renew; Renew"
        ),
      },
      {
        name = "Shackle",
        category = "Class",
        tags = {"pve", "utility"},
        iconHint = "Shackle Undead",
        body = B(
          "#showtooltip Shackle Undead",
          "/cast [@focus,exists,harm,nodead] Shackle Undead; Shackle Undead"
        ),
      },
      {
        name = "SWDStop",
        category = "Class",
        tags = {"pvp"},
        iconHint = "Shadow Word: Death",
        body = B(
          "#showtooltip Shadow Word: Death",
          "/stopcasting",
          "/cast Shadow Word: Death"
        ),
      },
      {
        name = "PIMouse",
        category = "Class",
        tags = {"raid"},
        iconHint = "Power Infusion",
        body = B(
          "#showtooltip Power Infusion",
          "/cast [@mouseover,help,nodead] Power Infusion; Power Infusion"
        ),
      },
    },

    ROGUE = {
      {
        name = "KickFocus",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Kick",
        body = B(
          "#showtooltip Kick",
          "/stopcasting",
          "/cast [@focus,exists,harm,nodead] Kick; Kick"
        ),
      },
      {
        name = "SapMO",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Sap",
        body = B(
          "#showtooltip Sap",
          "/cast [@mouseover,harm,nodead] Sap; Sap"
        ),
      },
      {
        name = "BlindFocus",
        category = "Class",
        tags = {"pvp"},
        iconHint = "Blind",
        body = B(
          "#showtooltip Blind",
          "/cast [@focus,exists,harm,nodead] Blind; Blind"
        ),
      },
      {
        name = "Vanish",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Vanish",
        body = B(
          "#showtooltip Vanish",
          "/stopattack",
          "/cast Vanish"
        ),
      },
      {
        name = "StealthOp",
        category = "Class",
        tags = {"pvp"},
        iconHint = "Cheap Shot",
        body = B(
          "#showtooltip",
          "/cast [stealth] Cheap Shot; Sinister Strike",
          "/startattack"
        ),
      },
    },

    SHAMAN = {
      {
        name = "PurgeMO",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Purge",
        body = B(
          "#showtooltip Purge",
          "/cast [@mouseover,harm,nodead] Purge; Purge"
        ),
      },
      {
        name = "EShock",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Earth Shock",
        body = B(
          "#showtooltip Earth Shock",
          "/stopcasting",
          "/cast Earth Shock"
        ),
      },
      {
        name = "CleanseMO",
        category = "Class",
        tags = {"raid", "pve"},
        iconHint = "Cure Disease",
        body = B(
          "#showtooltip",
          "/cast [@mouseover,help,nodead,mod:shift] Cure Poison; [@mouseover,help,nodead] Cure Disease; [mod:shift] Cure Poison; Cure Disease"
        ),
      },
      {
        name = "HeroBlood",
        category = "Class",
        tags = {"raid"},
        iconHint = "Bloodlust",
        body = B(
          "#showtooltip",
          "/cast Bloodlust",
          "/cast Heroism"
        ),
      },
      {
        name = "TotemSet1",
        category = "Class",
        tags = {"pve", "raid"},
        iconHint = "Totem of Wrath",
        body = B(
          "#showtooltip",
          "/castsequence reset=10 Totem of Wrath, Mana Spring Totem, Wrath of Air Totem, Totem of Wrath"
        ),
      },
      {
        name = "TotemSet2",
        category = "Class",
        tags = {"pve", "raid"},
        iconHint = "Strength of Earth Totem",
        body = B(
          "#showtooltip",
          "/castsequence reset=10 Strength of Earth Totem, Windfury Totem, Healing Stream Totem, Strength of Earth Totem"
        ),
      },
      {
        name = "WSwap",
        category = "Class",
        tags = {"pve", "quality-of-life"},
        iconHint = "Windfury Weapon",
        body = B(
          "#showtooltip",
          "/cast [mod:shift] Flametongue Weapon; Windfury Weapon"
        ),
      },
    },

    WARLOCK = {
      {
        name = "FearFocus",
        category = "Class",
        tags = {"pvp"},
        iconHint = "Fear",
        body = B(
          "#showtooltip Fear",
          "/cast [@focus,exists,harm,nodead] Fear; Fear"
        ),
      },
      {
        name = "Banish",
        category = "Class",
        tags = {"pve", "utility"},
        iconHint = "Banish",
        body = B(
          "#showtooltip Banish",
          "/cast [@focus,exists,harm,nodead] Banish; Banish"
        ),
      },
      {
        name = "SSMouse",
        category = "Class",
        tags = {"raid", "utility"},
        iconHint = "Soulstone Resurrection",
        body = B(
          "#showtooltip Soulstone Resurrection",
          "/use [@mouseover,help,nodead] Soulstone; Soulstone"
        ),
      },
      {
        name = "HSCreate",
        category = "Class",
        tags = {"quality-of-life"},
        iconHint = "Create Healthstone",
        body = B(
          "#showtooltip Create Healthstone",
          "/cast Create Healthstone",
          "/use Healthstone"
        ),
      },
      {
        name = "PetAtk",
        category = "Class",
        tags = {"pve"},
        iconHint = "Pet Attack",
        body = B(
          "#showtooltip",
          "/petattack [@target,harm,nodead]",
          "/cast Shadow Bolt"
        ),
      },
      {
        name = "Seduce",
        category = "Class",
        tags = {"pvp"},
        iconHint = "Seduction",
        body = B(
          "#showtooltip Seduction",
          "/cast [@focus,exists,harm,nodead] Seduction; Seduction"
        ),
      },
      {
        name = "CoT",
        category = "Class",
        tags = {"raid"},
        iconHint = "Curse of the Elements",
        body = B(
          "#showtooltip",
          "/cast [mod:shift] Curse of Weakness; [mod:ctrl] Curse of Recklessness; Curse of the Elements"
        ),
      },
    },

    WARRIOR = {
      {
        name = "Charge",
        category = "Class",
        tags = {"pvp", "leveling"},
        iconHint = "Charge",
        body = B(
          "#showtooltip Charge",
          "/cast [nostance:1] Battle Stance",
          "/cast Charge",
          "/startattack"
        ),
      },
      {
        name = "Intercept",
        category = "Class",
        tags = {"pvp"},
        iconHint = "Intercept",
        body = B(
          "#showtooltip Intercept",
          "/cast [nostance:3] Berserker Stance",
          "/cast Intercept",
          "/startattack"
        ),
      },
      {
        name = "Pummel",
        category = "Class",
        tags = {"pvp", "utility"},
        iconHint = "Pummel",
        body = B(
          "#showtooltip Pummel",
          "/stopcasting",
          "/cast [nostance:3] Berserker Stance",
          "/cast Pummel"
        ),
      },
      {
        name = "SpellRef",
        category = "Class",
        tags = {"pvp", "tank"},
        iconHint = "Spell Reflection",
        body = B(
          "#showtooltip Spell Reflection",
          "/cast [nostance:2] Defensive Stance",
          "/cast Spell Reflection"
        ),
      },
      {
        name = "EquipShield",
        category = "Class",
        tags = {"tank", "pvp"},
        iconHint = "Defensive Stance",
        body = B(
          "#showtooltip Defensive Stance",
          "/equip [noequipped:Shields] Shield",
          "/cast Defensive Stance"
        ),
      },
      {
        name = "Shout",
        category = "Class",
        tags = {"raid"},
        iconHint = "Battle Shout",
        body = B(
          "#showtooltip",
          "/cast [mod:shift] Commanding Shout; Battle Shout"
        ),
      },
    },
  },
}