The Best Frost Mage Macro In Existence - Guaranteed!

d80sqaqiqk1OOQCkPOzrvQBbsLDrvs(fizyG4yiAzKYZeY0uLUMq12iIVjiJJKCorX6OkX9aPK)bsXaPkPoOkSqK4HiLjsQCrb1gHsFuaJuOCsfzLOkVeOMjQQBcf7eWpbLHQIokvvlvv5POmvI6QePTQK(kOASKWzfLwRQO3sI6UKi7vYFbPQblQomvwSs8yfMSu6Ye2ms1NHWOvvDAiTAvHxtsnBeUnvXUf53k1WrLJJKwUu9CvA6uCDGSDi67sHXlqNxrTEsvZhQ2pLUil5cGSy6oyXGESFWyYNRNq)kPxrwaALCXKDeIK5wmOXBOXBOXBOXBOXBOXBOPyhGm)7EXKMuN2ns28dqM)DVybyHxf9l6ovarKqKuSWj67(qqB7HZzClOeOM5IsXW4g99TKlaYsUyRUoQBHqCl5IT66LCbqwmOUMn3WDnOje2CL9SB9Y9hLUrPcqRyqnCxJnxzp7wVC)rPBuYMpne2C(U0q47ZLuBZ1AwarfdQH7AS5k7z36fhHX70E87sjbbAcH3E9au)U7kzZPqGQxVR367ZLuBZv1SaElgud31yZv2ZU1ldtNW70E87sjbbAcHs2CABIwBol54ktXalMp7I7TKlaYIbLX1rimIKWZSnx50(3194TnVv4AvQa0kguxJRBCgJBOUaIkguCcJZyCd12CLhBploJsLPmf7yyq3PBjxaKLCbqwmlUfhSy(SlUxlUfVa0kMf3IV66wClEbevmOgURXMRCAZjmkzZJiLOkuXKN5ef7yyq3PYuaALCbqwmlUfhSy(SlUxlUfVa0kMf3IV66wClEbevmOgURXMRCAZjmEBZ9ApBqxXgPO7Tn)xqWPKYPnNW4Tn)xqWPKYEnNWOKnp(RKxjftEMtuSJHbDNktbevYfazXS4wCWI5ZU4ET4w8cqRywCl(QRBXT4fquXGA4UgBUYPnNWOKnpIuIQqftEMtuSJHbDNktb8wYfazXS4wCWI5ZU4ET4w8cqRywCl(QRBXT4fquXGA4UMRGkirAiS5kN2JFxkjiqtiuYMBZT5DXvyGwJ9MOD3ibDrqS528OOxiXlM8mNOyhdd6ovMciEjxaKLCbqwmlUfhSy(SlUxlUfVa0kMf3IV66wClEbevmOgURXMRCAp(DPKGanHqjB(7B8qAftEMtuSJHbDNktbOvYfazXS4wCWI5ZU4ET4w8cqRywCl(QRBXT4fquXGA4UgBUYP943Lscc0ecLS5VAQEjlM8mNOyhdd6ovMciQKlaYIzXT4GfZNDX9AXT4fGwXS4w8vx3IBXlGOIb1WDn2CLhBploJ3P943Lscc0ecLS5KAVH0kM8mNOyhdd6ovMc4TKlaYIzXT4GfZNDX9AXT4fGwXS4w8vx3IBXlGOIb1WDn2CLhBploJ3P943Lscc0ecLS5As0YeQyYZCIIDmmO7uzkG4LCbqwmlUfhSy(SlUxlUfVa0kMf3IV66wClEbevmOgUR5kOcsKgcBUYJTNfNX70E87sjbbAcHs2CBUnVlUcd0AS9S4m2CBEeK33mftEMtuSJHbDNktbiPKlaYIzXT4GfZNDX9AXT4fGwXS4w8vx3IBXlGOIb1WDnxbvqI0qyZvES9S4mEN2JFxkjiqtiuYMBZT5DXvyGwJTNfNXMBZXG277UnFYJdHOy6qVUfcrBrPyYZCIIDmmO7uzk2NGt4mfGwXKN5efJ)EZvmMrWHfuAyq3PID2r3DuZCzktXMslGqjmRUoQBHqCl5IrB7zXzkkftUJMulmKfLIft4AlkftUJMulmAfLI9HMqOvlfJIGWuuk2hAcbzTuMYuMIX3Dns5ADgrBX0GOfbrcPeYmrrAKfdUWP(au3Dl5IHTVVMfuJOyqB4hErdAlFG0Sk3vqH2vxmFbjUOKWXsVtGCAHQ)SyWibeLl2yQPcJCRLK(qQcM2J0c9tW6J0RPdadziMom65j)jcM9mSwWxPCpprxa6QEmJuGDjqRQfuSJx9yi3unWMchaglC44XZGLJ7PkppjP5Z3tdgavzPiz7(Htro7mL4yKrBrk9d7yJKEw6uadBw18j)zii8576)qkpfkcd3NUx2mFkzqWDgSfW)5emWCEaDEbZr7Kpe1(9WBfI(JJt)dgqNi6z3p8bF(FCeyE0k7FPv9hpqJguDirXUsrnMDgaX5vIbEMZqCiaudxbCpXj)JabNV6GyMKqLd8ObwKQ3x6niOdAIawKZ)XiMemscfrb0ajZVSjegks91ZkoabIycswfWq8HnigjhGxjG)GYRIqiJKsznJeTNANbt0rHXtBcjhVV9qnC(MODQbwDbH)rdwM2FaeCKD5Ru)BTnyncS6OSJ5RDL80PrLUIxyYbGngQArqC29HaLiKohwqtidKabbo4V78LBbzpYah5Ccnb8cNwSWHEeG4LAlexezq0qiaCe6ue(xG(EQqervnbkiDX)IFiaJObXeVh)BeQGNr1e8R(3twGzPWdmTDujBEFSUI5nUwcIc4zg7mgEGy09tQ5RN0wreqFycWivmcqI6AHy(EOFnGFaA(N2cAyLyO)k09IrvZVvP6cTZObttIgzWNH5J8G8JSrIgFvGI9tYNKlgbiPz0pwck295PFJp9(pqeA0iamKGqsvJT6jUpziba404j9lfZT0ukh)jo4iCEIlv3BlSXtiAGgTRu8jvc2pFX5PqbZhcuvH13GcFDTrIf6QN5MM4dsE5J(tENnNcJmi)ai(HnwZ(qO7WbEMt3uq0ZWQMN88ukgomu)i)FoHn(FCjk49oagaWciHQEHJ8GpFAiFWAaSijrHsleImohbTPWsGOkB)jtb)SsjPzYgb6lgpmNbu8cdmvw4Vhy0R7YdmeAFhbrXQQtpRE)6pybZgfQTPFKZkelCUPE8j0Nk8tVloapcMDS0KUIfULy8ANGbBDOdXhmUwK095OPMrB8jKObBYaWRXazkiiy08Gua8zGitLobMNtGPhecS1lCmivldI8gycZrhT9iPjcHiOkUW6K(Qz(JwqqsBndef68XrEg5d7ZpcmuOrTJunYdmezW8aYo(q)0lJcy9yN2iX24Sd7efo4Vba2xAXPoTjLag2t)610hcdsIpFyrsOpW3AOKtQhxgnZFuCsXZMjhbqZGpE3CK6YYBeKNz7papfYeGLZIedwi04Li1DW1eSEYtsYqGX2CkCJzP0Aja)0)dQ(u0mMRdsFhKtv8b25xdi6nAXkf(VpKMWtQbEMiu7FaxgoyWdPofUKcxBpIGkeKgiKufyxMMtDvmiVqA5JbDwocwBqGMISX7AN8)tzpWG1NCJySiDe6iN2XBDmmd2BxFOO4zJovLz97dS2VuYOZB8qGKMvqpIYbrGMrXAQcao6a2Aebmfyz86b5ctU6lY)Spksh03AbDbb3gbed57y3olq(YFvRdqQEHfMXra3pcizvq5LpAMH(Rqf2M9dSCycWlWNORrLk8mDo6euPg4n2BasEW51qSKW4Yi(DaOaYpoOIMqiHqnv)Wju)aMevsJHgMflMGQWpmgF(kY(u6)FYr0vRAbYSi2dyH9dRJIDzDvBDcsgf0r)9pix(J9GndbJm1ibPUaADjkK0k4mC05Aszl(uP6hwddnNuX8tDVNW1HGh1x0h)XVDmyYc6C6g48Gc5xJmsao9eVvwYij6zqahSAqFZJNTFVt)t710Hpwinv67APWsj5zESaXh1MkO18gUhoyyz(uE(RsoBI1GF7I(iQistUfi0JZMc4HgCnou9gIVg(Cb4goJE1iLcMYHlG)H6SbJ0W2Dxsz4uHtOh8Rld64J6xSyAXuGvswKbLoHqsWLWGwcsvnVdUH8nenfk6TW5bgn8iGeQ()jhPa0Phd0uhL(VFy8FqDLldizza)6OEFCZUKg8Eq7e8s6BbSSuPWDb6rDyKWWqdI8cnq(vPO3rA0dMhLMPiSHcjZx9lHG3o1mZuIKUFjHm0c1i6SZdWtpYpF(n1YYtVcF06Hxdr)6lGQGW8KjgqcY6YxmFkAZMHElGpeqIZFteu6noFGMWXQlutpLPyRUoQBHqCl5YumgNymPRauvmzy0kGiiVqGummcJtNZ4k5IftqWrGMuxSIj7iejZTyWHjZhCX(eUwyjI5IsXGlCQpa1D3sUmf7aK5F3l2bNZ03xVgRt0jqtUIfGfEv0VO7ubergfQyHt039HG22dNZ4wqjqnZfLIrJWDVt6kavflMGGRySFu6gVyZNgcBoFxAiS8oimEXMtHavVExV13NlP2MhQPLhntNWl2CABIwBol54S8S8(ngURxGcQgnA4vn2n(fUwVAS9avJTHqnuiaH2kUqrVVVgOZJdHa6A5UqhhsoOZ1fjxX0jO7arykaYIb48ikMUdwmOh7hmM856j0Vs6vKfJV7AKY16mI2IPbrJeIennnYOinvfJXjgt6kavftggTcicYleYIHXLa5iMsgrhPizq3PIszktzQc

Usage Information

Shift: Ice Lance
Alt: Blizzard(Rank 7)
Ctrl: Cold Snap

This macro contains 1 macro template. This Sequence was exported from GSE 3.1.37.

This macro is for a Frost Mage in World of Warcraft: Wrath of the Lich King (WotLK) expansion. It uses Gnome Sequencer Enhanced (GSE), an advanced macro compiler that allows you to create complex and efficient macros².

The macro has two main parts: Variables and Actions.

Variables are custom commands that you can define and use in your macro. They can be used to simplify your macro or to add modifiers for different situations. For example, you can use a variable to cast a different spell depending on whether you hold Shift, Alt or Ctrl keys.

Actions are the actual commands that you want to execute in your macro. They can be simple commands like /cast or /use, or they can be loops or conditionals that allow you to create sequences of commands that repeat or change depending on certain factors.

Let’s look at each part of your macro in detail:

{
    ["Variables"] = {
        ["Var"] = {
            [1] = "/stopcasting [mod:shift]",
            [2] = "/cast [mod:shift] Ice Lance(Rank 2)",
            [3] = "/cast [mod:alt,nochanneling,@cursor] Blizzard(Rank 8)",
            [4] = "/cast [mod:ctrl,nochanneling] Cold Snap"
        },

This part defines a variable called Var, which contains four commands. Each command has a modifier that determines when it will be executed. For example, the first command will stop your current casting if you hold Shift, and the second command will cast Ice Lance if you hold Shift. The third command will cast Blizzard at your cursor location if you hold Alt and are not channeling another spell. The fourth command will cast Cold Snap if you hold Ctrl and are not channeling another spell.

        ["KeyPress"] = {
            [1] = "/targetenemy [noharm, dead]",
            [2] = "/startattack",
            [3] = "/petattack [combat]"
        }
    },

This part defines another variable called KeyPress, which contains three commands that will be executed before every action in your macro. These commands are useful for targeting enemies, starting auto-attacks and sending your pet to attack.

    ["Actions"] = {
        [1] = {
            [1] = "~~KeyPress~~",
            [2] = "~~Var~~",
            [3] = "/cast [nopet] Summon Water Elemental",
            ["Type"] = "Action"
        },

This part defines the first action in your macro. It consists of three commands: the first one calls the KeyPress variable, which means it will execute the three commands defined earlier. The second one calls the Var variable, which means it will execute one of the four commands defined earlier depending on your modifier key. The third one will cast Summon Water Elemental if you don’t have a pet already. The Type field indicates that this is a simple action, not a loop or a conditional.

        [2] = {
            [1] = "~~KeyPress~~",
            [2] = "~~Var~~",
            [3] = "/cast [nopet, @mouseover, help][nopet, help][@pet] Focus Magic",
            ["Type"] = "Action"
        },

This part defines the second action in your macro. It is similar to the first one, except that the third command will cast Focus Magic on either your mouseover target if it is friendly, or yourself if you don’t have a pet, or your pet if you have one.

        [3] = {
            [1] = "~~KeyPress~~",
            [2] = "~~Var~~",
            [3] = "/cast [nopet] Summon Water Elemental",
            ["Type"] = "Action"
        },

This part defines the third action in your macro. It is identical to the first one.

        [4] = {
            [1] = "~~KeyPress~~",
            [2] = "~~Var~~",
            [3] = "/castsequence [nochanneling]   reset=cooldown-30  Ice Barrier(Rank 6)",
            ["Type"] = "Action"
        },

This part defines the fourth action in your macro. It is similar to the previous ones, except that the third command will cast Ice Barrier in a sequence that resets every time the cooldown is 30 seconds or less. This means that it will cast Ice Barrier whenever it is available, but not more often than every 30 seconds.

        [5] = {
            [1] = {
                [1] = "~~KeyPress~~",
                [2] = "~~Var~~",
                [3] = "/cast [nochanneling] Deep Freeze",
                ["Type"] = "Action"
            },
            [2] = {
                [1] = "~~KeyPress~~",
                [2] = "~~Var~~",
                [3] = "/cast [nochanneling] Frostbolt(Rank 15)",
                ["Type"] = "Action"
            },
            [3] = {
                [1] = "~~KeyPress~~",
                [2] = "~~Var~~",
                [3] = "/cast [combat,nochanneling] Icy Veins",
                ["Type"] = "Action"
            },
            [4] = {
                [1] = "~~KeyPress~~",
                [2] = "~~Var~~",
                [3] = "/cast [combat,nochanneling] Berserking(Racial)",
                ["Type"] = "Action"
            },
            [5] = {
                [1] = "~~KeyPress~~",
                [2] = "~~Var~~",
                [3] = "/castsequence [combat,nochanneling]   reset=combat  Spellsteal",
                ["Type"] = "Action"
            },
            [6] = {
                [1] = "~~KeyPress~~",
                [2] = "~~Var~~",
                [3] = "/castsequence [combat,nochanneling]   reset=combat  Mirror Image",
                ["Disabled"] = true,
                ["Type"] = "Action"
            },
            ["Repeat"] = 2,
            ["Type"] = "Loop",
            ["StepFunction"] = "Priority"
        }
    },

This part defines the fifth and final action in your macro. It is a loop, which means that it will repeat a set of commands a number of times. The Repeat field indicates that it will repeat twice, and the Type field indicates that it is a loop. The StepFunction field indicates that it will use the Priority method, which means that it will try to execute the commands in order of priority, skipping the ones that are not available or on cooldown.

The loop contains six commands, each of which calls the KeyPress and Var variables and then casts a different spell. The first command will cast Deep Freeze if you are not channeling another spell. The second command will cast Frostbolt if you are not channeling another spell. The third command will cast Icy Veins if you are in combat and not channeling another spell. The fourth command will cast Berserking, a racial ability for Trolls, if you are in combat and not channeling another spell. The fifth command will cast Spellsteal in a sequence that resets every time you enter combat, if you are in combat and not channeling another spell. The sixth command will cast Mirror Image in a sequence that resets every time you enter combat, if you are in combat and not channeling another spell. However, this command is disabled by default, which means that it will not be executed unless you enable it manually.

    ["InbuiltVariables"] = {
        ["Combat"] = true,
        ["Trinket1"] = true,
        ["Head"] = true,
        ["Trinket2"] = true,
        ["Ring2"] = false,
        ["Belt"] = true,
        ["Ring1"] = false
    }
}

This part defines some inbuilt variables that GSE provides for convenience. These variables allow you to use some of your equipment or items without having to specify their names or IDs. For example, the Trinket1 variable will use your first trinket slot, and the Head variable will use your head slot. You can enable or disable these variables by setting them to true or false. For example, the Ring2 variable is set to false, which means that it will not use your second ring slot.

I hope this explanation helps you understand your macro better. If you have any questions or feedback, please let me know.

1 Like