View Full Version : 'lock summoning macro
Dwarven
11-02-2008, 01:04 AM
I'm looking for an "if, then, else" macro that will basically do this:
if
soul shard exists
then
summon voidwalker
else
summon imp
I tried modifying a couple macros I found which seemed to be for determining if soul shards existed, but I couldn't figure out the correct code.
algol
11-02-2008, 01:27 AM
I think you can exploit fall-through for this. Maybe. At least, try it.
/cast Summon Voidwalker
/cast Summon Imp
If it works, it should summon the VW if possible, ending the macro since you can't have multiple GCD casts in the same action. Otherwise, it should try to cast the second spell (succeeding if you're not OOM or CCed). If this doesn't work, I don't know of anything that would - conditional execution is something they want to avoid. About the most you can do along that line is stuff like different actions for friendly/enemy targets et cetera.
Ualaa
11-02-2008, 05:58 AM
If that macro does not work, you could try a castsequence.
/castsequence reset=5 Summon Voidwalker, Summon Imp
Golle
11-02-2008, 07:57 PM
Try to make a script out of it. here ('http://www.wowwiki.com/Useful_macros_for_warlocks#Soul_Shard_management') .
This script does actually search your bag for a soul shard and delete it if it can find one, but I'm sure it can be modified.
/run i="Soul Shard"d=1 for x=0,4 do for y=1,GetContainerNumSlots(x) do if (d>0) then l=GetContainerItemLink(x,y) if l and GetItemInfo(l)==i then PickupContainerItem(x,y) DeleteCursorItem() d=d-1 end end end end
I made some modifications to the above script, that (hopefully) will check your bag for Soul shards, and if it finds one, it will cast Summon VoidWalker, else it will cast Summon Imp.
/run i="Soul Shard"d=1 for x=0,4 do for y=1,GetContainerNumSlots(x) do if (d>0) then l=GetContainerItemLink(x,y) if l and GetItemInfo(l)==i then CastSpellByName("Summon VoidWalker") d=d-1 else CastSpellByName("Summon Imp") end end end end
I have absolutely no idea if this will work, or if there is any bugs, but it's worth the try. Hopefully it will be helpful in some way.
Jafula
11-02-2008, 09:28 PM
CastSpellByName ('http://www.wowwiki.com/API_CastSpellByName') is protected and can only be called by Blizzard, so that won't work, I'm afraid.
caffiend86
11-04-2008, 02:55 PM
I use the following for both demon attack and demon summoning since I'm demonology spec and I'm always summoning a felguard. Mod alt tells the demon to follow to effectively stop attacking and mod ctrl applies a health funnel. Otherwise the nice thing about this one is it will summon a replacement demon in combat if it goes away or dies, using fel domination for faster summoning if your in combat
/a [target=focus,help]; [target=focus,noexists];party1
/petattack [nomod:alt/ctrl]
/petfollow [mod:alt]
/cast [nopet,combat][target=playerpet,dead,combat] Fel Domination
/cast [nopet][target=playerpet,dead] summon felguard; [mod:ctrl] Health Funnel
if your not demonology spec (which sounds like the case since your using voidwalker not felguards) you can make it the following and it should do what you want as well as sending your demon in to attack
/a [target=focus,help]; [target=focus,noexists];party1
/petattack [nomod:alt/ctrl]
/petfollow [mod:alt]
/cast [nopet][target=playerpet,dead] summon voidwalker; [mod:ctrl] Health Funnel
/cast [nopet][target=playerpet,dead] summon imp
Dwarven
11-09-2008, 03:15 PM
/cast Summon Voidwalker
/cast Summon Imp
Just fizzles out 'cause the first spell can't complete.
/castsequence reset=5 Summon Voidwalker, Summon Imp
Never gets to the second spell, 'cause the first spell don't complete.
/run i="Soul Shard"d=1 for x=0,4 do for y=1,GetContainerNumSlots(x) do if (d>0) then l=GetContainerItemLink(x,y) if l and GetItemInfo(l)==i then CastSpellByName("Summon VoidWalker") d=d-1 else CastSpellByName("Summon Imp") end end end end
Yop, Blizzard blocks it, it don't work.
/a [target=focus,help]; [target=focus,noexists];party1
/petattack [nomod:alt/ctrl]
/petfollow [mod:alt]
/cast [nopet][target=playerpet,dead] summon voidwalker; [mod:ctrl] Health Funnel
/cast [nopet][target=playerpet,dead] summon imp
Does the same thing as the first one, fizzles 'cause there's no soul shard, and it don't summon an imp.
So, if there's no way of coding it that way, I guess I'll just have to settle for
Does pet exist?
Yes, do nothing.
No, summon voidwalker, or with shift mod summon imp
But I'm having trouble getting the right code for it... this is what I tried:
/cast [nopet][target=playerpet, dead] summon voidwalker
/cast [nopet][target=playerpet, dead][mod:shift] summon imp
But it doesn't seem to be working. Any ideas?
vBulletin® v4.2.2, Copyright ©2000-2025, Jelsoft Enterprises Ltd.