My Demonology macros :)

Hi

I hawe been using this side for a long time so now i thougth i trie to make some macros :}

My talent is: 2,3,2,2,1,1,1

I may change lvl 100 talent to 3 for more AoE

Glyph is:
Major: Glyph of Imp Swarm, Glyph of Dark Soul, Glyph of Life Tap
Minor: Glyph of Shadow Bolt, Glyph of Soulwell, Glyph of Metamorphosis

My Macros is:

Sequences["Build-Demon"] = { StepFunction = [[ stepa = "312"

limit = string.len(stepa) or 1
if stepc == nil then
stepc = 1
end
if stepc >= limit then
stepc = 1
else
stepc = stepc + 1
end
step = tonumber(strsub (stepa, stepc, stepc))
]],
PreMacro = [[
/targetenemy [noharm][dead]
/petattack [@target,harm]
/petautocastoff [group] Threatening Presence
/petautocaston [nogroup] Threatening Presence
]],

– Macro 1
[[
/run(“Executing macro 1! (Hand of Gul’dan)”)
/cast Hand of Gul’dan
]],

– Macro 2
[[
/run(“Executing macro 2! (Shadow Bolt)”)
/castsequence [nochanneling] reset=target Corruption,Shadow Bolt,Shadow Bolt,Shadow Bolt,Shadow Bolt,Life Tap,Corruption,Shadow Bolt,Shadow Bolt,Shadow Bolt,Shadow Bolt,Life Tap
]],

– Macro 3
[[
/run(“Executing macro 3! (Metamorphosis)”)
/use [noform: 0] Metamorphosis
/castsequence reset=120 Dark Soul: Knowledge
]],

PostMacro = [[
/startattack
/cast [combat,nochanneling]Command Demon
/use [combat]13
/use [combat]14
/run UIErrorsFrame:Clear()
]],
}

Sequences[“Spend-Demon”] = {
StepFunction = [[
stepa = “31245”

limit = string.len(stepa) or 1
if stepc == nil then
stepc = 1
end
if stepc >= limit then
stepc = 1
else
stepc = stepc + 1
end
step = tonumber(strsub (stepa, stepc, stepc))
]],
PreMacro = [[
/targetenemy [noharm][dead]
/petattack [@target,harm]
/petautocastoff [group] Threatening Presence
/petautocaston [nogroup] Threatening Presence
]],

– Macro 1
[[
/run(“Executing macro 1! (Doom)”)
/castsequence reset=target/5 Doom,null
]],

– Macro 2
[[
/run(“Executing macro 2! (DemonBolt)”)
/castsequence [nochanneling] reset=target Touch of Chaos,Demonbolt,Demonbolt,Demonbolt,Demonbolt
]],

– Macro 3
[[
/run(“Executing macro 3! (Metamorphosis)”)
/use [noform] Metamorphosis
/castsequence reset=120 Dark Soul: Knowledge
]],

– Macro 4
[[
/run(“Executing macro 4! (Chaos Wave)”)
/cast Chaos Wave
]],

– Macro 5
[[
/run(“Executing macro 5! (Imp Swarm)”)
/castsequence [combat] Imp Swarm
]],

PostMacro = [[
/startattack
/cast [combat,nochanneling]Command Demon
/use [combat]13
/use [combat]14
/run UIErrorsFrame:Clear()
]],
}

Sequences[“SoulFire-Demon”] = {
StepFunction = [[
stepa = “3124”

limit = string.len(stepa) or 1
if stepc == nil then
stepc = 1
end
if stepc >= limit then
stepc = 1
else
stepc = stepc + 1
end
step = tonumber(strsub (stepa, stepc, stepc))
]],
PreMacro = [[
/targetenemy [noharm][dead]
/petattack [@target,harm]
/petautocastoff [group] Threatening Presence
/petautocaston [nogroup] Threatening Presence
]],

– Macro 1
[[
/run(“Executing macro 1! (Hand of Gul’dan)”)
/cast Hand of Gul’dan
]],

– Macro 2
[[
/run(“Executing macro 2! (Soul Fire)”)
/castsequence [nochanneling] reset=target Soul Fire,Soul Fire,Soul Fire,Corruption,Soul Fire,Soul Fire,Soul Fire
]],

– Macro 3
[[
/run(“Executing macro 3! (Metamorphosis)”)
/use [noform: 0] Metamorphosis
/castsequence reset=120 Dark Soul: Knowledge
]],

– Macro 4
[[
/run(“Executing macro 4! (Life Tap)”)
/cast Life Tap
]],

PostMacro = [[
/startattack
/cast [combat,nochanneling]Command Demon
/use [combat]13
/use [combat]14
/run UIErrorsFrame:Clear()
]],
}

pls coment if they can be improved ty

and hawe fun…

Jimmy

Sorry if i’m wrong here

Sequences[“Build-Demon”] = {
StepFunction = [[
stepa = “312”

limit = string.len(stepa) or 1
if stepc == nil then
stepc = 1
end
if stepc >= limit then
stepc = 1
else
stepc = stepc + 1
end
step = tonumber(strsub (stepa, stepc, stepc))
]],
PreMacro = [[
/targetenemy [noharm][dead]
/petattack [@target,harm]
/petautocastoff [group] Threatening Presence
/petautocaston [nogroup] Threatening Presence
]],

— Macro 1
[[
/run(“Executing macro 1! (Hand of Gul’dan)”)
/cast Hand of Gul’dan
]],

— Macro 2
[[
/run(“Executing macro 2! (Shadow Bolt)”)
/castsequence [nochanneling] reset=target Corruption,Shadow Bolt,Shadow Bolt,Shadow Bolt,Shadow Bolt,Life Tap,Corruption,Shadow Bolt,Shadow Bolt,Shadow Bolt,Shadow Bolt,Life Tap
]],

— Macro 3
[[
/run(“Executing macro 3! (Metamorphosis)”)
/use [noform: 0] Metamorphosis
/castsequence reset=120 Dark Soul: Knowledge
]],

PostMacro = [[
/startattack
/cast [combat,nochanneling]Command Demon
/use [combat]13
/use [combat]14
/run UIErrorsFrame:Clear()
]],
}

but isn’t this 1 macro in itself and not 4 different ones

hi

its a step macro :slight_smile:
im not good at this but i dont think so :slight_smile:

Jimmy

could someone paste it in a white box , please thx

Sequences[“Build-Demon”] = {
StepFunction = [[
 stepa = “312”

limit = string.len(stepa) or 1
 if stepc == nil then
 stepc = 1
 end
 if stepc >= limit then
 stepc = 1
 else
 stepc = stepc + 1
 end
 step = tonumber(strsub (stepa, stepc, stepc))
 ]],
 PreMacro = [[
 /targetenemy [noharm][dead]
 /petattack [@target,harm]
 /petautocastoff [group] Threatening Presence
 /petautocaston [nogroup] Threatening Presence
 ]],

— Macro 1
 [[
 /run(“Executing macro 1! (Hand of Gul’dan)”)
 /cast Hand of Gul’dan
 ]],

— Macro 2
 [[
 /run(“Executing macro 2! (Shadow Bolt)”)
 /castsequence [nochanneling] reset=target Corruption,Shadow Bolt,Shadow Bolt,Shadow Bolt,Shadow Bolt,Life Tap,Corruption,Shadow Bolt,Shadow Bolt,Shadow Bolt,Shadow Bolt,Life Tap
 ]],

— Macro 3
 [[
 /run(“Executing macro 3! (Metamorphosis)”)
 /use [noform: 0] Metamorphosis
 /castsequence reset=120 Dark Soul: Knowledge
 ]],

PostMacro = [[
 /startattack
 /cast [combat,nochanneling]Command Demon
 /use [combat]13
 /use [combat]14
 /run UIErrorsFrame:Clear()
 ]],
 }

Sequences[“Spend-Demon”] = {
StepFunction = [[
 stepa = “31245”

limit = string.len(stepa) or 1
 if stepc == nil then
 stepc = 1
 end
 if stepc >= limit then
 stepc = 1
 else
 stepc = stepc + 1
 end
 step = tonumber(strsub (stepa, stepc, stepc))
 ]],
 PreMacro = [[
 /targetenemy [noharm][dead]
 /petattack [@target,harm]
 /petautocastoff [group] Threatening Presence
 /petautocaston [nogroup] Threatening Presence
 ]],

— Macro 1
 [[
 /run(“Executing macro 1! (Doom)”)
 /castsequence reset=target/5 Doom,null
 ]],

— Macro 2
 [[
 /run(“Executing macro 2! (DemonBolt)”)
 /castsequence [nochanneling] reset=target Touch of Chaos,Demonbolt,Demonbolt,Demonbolt,Demonbolt
 ]],

— Macro 3
 [[
 /run(“Executing macro 3! (Metamorphosis)”)
 /use [noform] Metamorphosis
 /castsequence reset=120 Dark Soul: Knowledge
 ]],

— Macro 4
 [[
 /run(“Executing macro 4! (Chaos Wave)”)
 /cast Chaos Wave
 ]],

— Macro 5
 [[
 /run(“Executing macro 5! (Imp Swarm)”)
 /castsequence [combat] Imp Swarm
 ]],

PostMacro = [[
 /startattack
 /cast [combat,nochanneling]Command Demon
 /use [combat]13
 /use [combat]14
 /run UIErrorsFrame:Clear()
 ]],
 }

Sequences[“SoulFire-Demon”] = {
StepFunction = [[
 stepa = “3124”

limit = string.len(stepa) or 1
 if stepc == nil then
 stepc = 1
 end
 if stepc >= limit then
 stepc = 1
 else
 stepc = stepc + 1
 end
 step = tonumber(strsub (stepa, stepc, stepc))
 ]],
 PreMacro = [[
 /targetenemy [noharm][dead]
 /petattack [@target,harm]
 /petautocastoff [group] Threatening Presence
 /petautocaston [nogroup] Threatening Presence
 ]],

— Macro 1
 [[
 /run(“Executing macro 1! (Hand of Gul’dan)”)
 /cast Hand of Gul’dan
 ]],

— Macro 2
 [[
 /run(“Executing macro 2! (Soul Fire)”)
 /castsequence [nochanneling] reset=target Soul Fire,Soul Fire,Soul Fire,Corruption,Soul Fire,Soul Fire,Soul Fire
 ]],

— Macro 3
 [[
 /run(“Executing macro 3! (Metamorphosis)”)
 /use [noform: 0] Metamorphosis
 /castsequence reset=120 Dark Soul: Knowledge
 ]],

— Macro 4
 [[
 /run(“Executing macro 4! (Life Tap)”)
 /cast Life Tap
 ]],

PostMacro = [[
 /startattack
 /cast [combat,nochanneling]Command Demon
 /use [combat]13
 /use [combat]14
 /run UIErrorsFrame:Clear()
 ]],
 }

There you go :slight_smile:

Jimmy

getting syntax error near line 3 of sequence.lua unexpted error near ? :slight_smile: and thanks

Hi

It might be the tags you need to change they should look like this " ’ ,
i think it may be that thats cousing they error but Again im not the best of making these macros :slight_smile:
hope this will help you…

Jimmy

Merry meet!,

Are quotation marks ["] supposed to be everywhere in the macro? Affliction macros seem to use different syntax. That both methods work, I must presume as I am a newb at this syntax.

However, ["] seemed to cause errors when used with [/castsequence]s.

The question is asked in case posting code outside of {code}{/code} messed up the syntax that the author uses. The second reply before mine mentioned there being an error.

Thank you for sharing your time and Force; May you eternally ask the Goddess to alight your path.

Hi Brent

Im no expert in this but no in this macro you dont put quotation marks in castsequence lines.
hope this help you :slight_smile:

Jimmy

Maybe I’m being stupid but it won’t work for me :’-(

I finally managed to get this one to work after making some modifications to the " and ’ in the code. Also for some reason there is often some extra spaces or breaks in the code which will often cause you to spam in chat as it breaks the sequence.

While testing i never seem to do much on the dummies, might be because i am still only using the 604 quest gear, might also be because of the previous nerfs of Demonology but here is the code which should allow this to work.

Sequences["Build-Demon"] = {
StepFunction = [[
stepa = "312"
limit = string.len(stepa) or 1
if stepc == nil then
stepc = 1
end
if stepc >= limit then
stepc = 1
else
stepc = stepc + 1
end
step = tonumber(strsub (stepa, stepc, stepc))
]],
PreMacro = [[
/targetenemy [noharm][dead]
/petattack [@target,harm]
/petautocastoff [group] Threatening Presence
/petautocaston [nogroup] Threatening Presence
]],
-- Macro 1
[[
/run("Executing macro 1! (Hand of Gul'dan)")
/cast Hand of Gul'dan
]],
-- Macro 2
[[
/run("Executing macro 2! (Shadow Bolt)")
/castsequence [nochanneling] reset=target Corruption,Shadow Bolt,Shadow Bolt,Shadow Bolt,Shadow Bolt,Life Tap,Corruption,Shadow Bolt,Shadow Bolt,Shadow Bolt,Shadow Bolt,Life Tap
]],
-- Macro 3
[[
/run("Executing macro 3! (Metamorphosis)")
/use [noform: 0] Metamorphosis
/castsequence reset=120 Dark Soul: Knowledge
]],
PostMacro = [[
/startattack
/cast [combat,nochanneling]Command Demon
/use [combat]13
/use [combat]14
/run UIErrorsFrame:Clear()
]],
}
Sequences["Spend-Demon"] = {
StepFunction = [[
stepa = "31245"
limit = string.len(stepa) or 1
if stepc == nil then
stepc = 1
end
if stepc >= limit then
stepc = 1
else
stepc = stepc + 1
end
step = tonumber(strsub (stepa, stepc, stepc))
]],
PreMacro = [[
/targetenemy [noharm][dead]
/petattack [@target,harm]
/petautocastoff [group] Threatening Presence
/petautocaston [nogroup] Threatening Presence
]],
-- Macro 1
[[
/run("Executing macro 1! (Doom)")
/castsequence reset=target/5 Doom,null
]],
-- Macro 2
[[
/run("Executing macro 2! (DemonBolt)")
/castsequence [nochanneling] reset=target Touch of Chaos,Demonbolt,Demonbolt,Demonbolt,Demonbolt
]],
-- Macro 3
[[
/run("Executing macro 3! (Metamorphosis)")
/use [noform] Metamorphosis
/castsequence reset=120 Dark Soul: Knowledge
]],
-- Macro 4
[[
/run("Executing macro 4! (Chaos Wave)")
/cast Chaos Wave
]],
-- Macro 5
[[
/run("Executing macro 5! (Imp Swarm)")
/castsequence [combat] Imp Swarm
]],
PostMacro = [[
/startattack
/cast [combat,nochanneling]Command Demon
/use [combat]13
/use [combat]14
/run UIErrorsFrame:Clear()
]],
}
Sequences["SoulFire-Demon"] = {
StepFunction = [[
stepa = "3124"
limit = string.len(stepa) or 1
if stepc == nil then
stepc = 1
end
if stepc >= limit then
stepc = 1
else
stepc = stepc + 1
end
step = tonumber(strsub (stepa, stepc, stepc))
]],
PreMacro = [[
/targetenemy [noharm][dead]
/petattack [@target,harm]
/petautocastoff [group] Threatening Presence
/petautocaston [nogroup] Threatening Presence
]],
-- Macro 1
[[
/run("Executing macro 1! (Hand of Gul'dan)")
/cast Hand of Gul'dan
]],
-- Macro 2
[[
/run("Executing macro 2! (Soul Fire)")
/castsequence [nochanneling] reset=target Soul Fire,Soul Fire,Soul Fire,Corruption,Soul Fire,Soul Fire,Soul Fire
]],
-- Macro 3
[[
/run("Executing macro 3! (Metamorphosis)")
/use [noform: 0] Metamorphosis
/castsequence reset=120 Dark Soul: Knowledge
]],
-- Macro 4
[[
/run("Executing macro 4! (Life Tap)")
/cast Life Tap
]],
PostMacro = [[
/startattack
/cast [combat,nochanneling]Command Demon
/use [combat]13
/use [combat]14
/run UIErrorsFrame:Clear()
]],
}

So if you spasm pre 100 in Demon form, it’s probably due to the “Spend-Demon” using Demonbolt which is a 100 talent. Just replace it with Touch of Chaos until you hit 100 and it should work much better.

[quote quote=26970]So if you spasm pre 100 in Demon form, it’s probably due to the “Spend-Demon” using Demonbolt which is a 100 talent. Just replace it with Touch of Chaos until you hit 100 and it should work much better.
[/quote]

Hey, so I dabbled with these macros on a lock I’m levelling and they’re pretty sick, as in really fucking good and I also really like the way they are built and will try to implement what I’ve learnt here within my own.

Now to the point, I don’t know how well life tap plays out at 100 just yet, but at my current level of 92 on the dummies as much as I burn my mana I think HP is kind of important as well, with that being said these could be raid built macros. I just don’t feel confident enough to take them into the world knowing I dick my own HP. I have also tested the macros without life tap in them and I do agree it has to be there some where.

SO… If anyone has the time to test this further, to basically try and find a nice balance on life tap usage. It would be much appreciated and I will also look into it but at the moment real life calls!

Thank again and keep up the good work!

You could try to remove the Life Taps from the cast sequence in Macro 2 and move it to a mod cast in Post Macro… it will still screw your life when you use it but it will cast it on demand when you want it to. The only issue is it makes you hold down a key possibly taking away the laziness of the macro, but i find that a small sacrifice :wink:

In my case when i want to use it i will hold down shift during a Shadow bolt cast and release it at the end of the cast so i dont spam it and doesn’t affect the DPS too badly.

I don’t raid due to my shifts at work so unsure how it works out in that environment.

PostMacro = [[
/startattack
/cast [combat,nochanneling]Command Demon
/cast [mod] Life Tap
/use [combat]13
/use [combat]14
/run UIErrorsFrame:Clear()
]],
}

Yeah I feel your pain, I may just bind it to an additional key as I don’t really have mod possibilities on my Ipad. before you ask why my Ipad lol, I only make these macro’s to make things easier for when I stream it from home and play at work (working nights n all). But yeah cheers again for the macros.

if you are using notepad++ u can copy and paste the correct mark but you cant just type a ’ it has to be copy and pasted from another vertical comma that gets copied(if you look very close you can see the difference) . instead of coying and pasting you can use " " instead of ’ ’ to wrap the text but they need to be one or the other. in notepad++ it will show you when the step is broken with black lettering instead of w/e all the unbroken ones are. idk y sometimes when you copy and paste a macro they dont copy over right.

im sorry this is surley a good macro but im lvl 81 and the second macro does nothing for me and this is not the first demon macro i used and all are the same, in demonform i just cast 1 spell and then nothing :// and with the 3 macro it seams that im loosing life on dummys… sry this is my first lock but can someone plz explain??

Ok so in 2nd macro it’s trying to use the 100 talent of Demonbolt which you don;t have yet so it will just cast the 1 spell and then make you spasm doing nothing. Replace the lines of Demonbolt with:

/castsequence [nochanneling] reset=target Touch of Chaos,Demonbolt,Demonbolt,Demonbolt,Demonbolt
to
/castsequence [nochanneling] reset=target Touch of Chaos,Touch of Chaos,Touch of Chaos,Touch of Chaos,Touch of Chaos

This should fix the issue until you get to 100.

In the 3rd macro it’s the life Tap that causes you to lose health. You can stop this from happening by using either Glyph of Lifetap or altering the line a little to:

/run(“Executing macro 4! (Life Tap)”)
/cast Life Tap

to

/run(“Executing macro 4! (Life Tap)”)
/cast [mod] Life Tap

This will allow you to only cast Lifetap by holding down Alt/Shift/Ctrl during the sequences

thanks :slight_smile: im lvl 100 now and it works gr8 but ty for taking time to explain :slight_smile: