It will memorize the two spells in the slots you specify.
To toggle Twitch on/off, press Ctrl+\ . You can change this bind if you wish in the macro.
If you lose your target, it turns twitching to OFF until you turn it back on.
This macro is meant to run for the duration of a raid. Whenever you want to twitch someone, you target them and press Ctrl+\. When you want to stop, press Ctrl+\ again. The macro will keep running. Just target someone new and hit Ctrl+\ when you want to resume.
If there are any bugs or questions let me know with PM or reply to post..
Code: Select all
|twitch.mac
| Twitch one person with both of your twitch spells.
| Use "Ctrl \" combo to start twitching or stop twitching.
#event OOM "#*#Insufficient Mana#*#"
|--------------------------------------
|--- SUB: Main
|--------------------------------------
Sub Main
/declare Twitch1Slot int outer
/declare Twitch2Slot int outer
/declare Ready1 bool outer FALSE
/declare Ready2 bool outer FALSE
/declare Ready1Timer timer outer
/declare Ready2Timer timer outer
/declare TwitchToggle int outer 0
/declare TwitchToggleChange int outer 0
|--- Custombind routine
/squelch /custombind delete TwichToggle
/squelch /custombind add TwitchToggle
/squelch /custombind set TwitchToggle /varset TwitchToggleChange 1
/bind TwitchToggle Ctrl+\
|-------------------------------------------------
|--- which slots do you use for Sedulous/Covetous?
/varset Twitch1Slot 7
/varset Twitch2Slot 8
|-------------------------------------------------
/if (${Me.Gem[Sedulous Subversion]}) {
/varset Ready1 TRUE
} else /varset Ready1 FALSE
/if (${Me.Gem[Covetous Subversion]}) {
/varset Ready2 TRUE
} else /varset Ready2 FALSE
:retry1
/delay 1
/if (${Ready1}==FALSE) {
/memspell ${Twitch1Slot} "Sedulous Subversion"
/varset Ready1Timer 80
}
:loop1
/delay 1
/if (!${String[${Me.Gem["Sedulous Subversion"]}].NotEqual[NULL]}) /if (${Ready1Timer}<1) /goto :retry1
/if (${String[${Me.Gem["Sedulous Subversion"]}].NotEqual[NULL]}) /goto :next
/goto :loop1
:next
:retry2
/delay 1
/if (${Ready2}==FALSE) {
/memspell ${Twitch2Slot} "Covetous Subversion"
/varset Ready2Timer 80
}
:loop2
/delay 1
/if (!${String[${Me.Gem["Covetous Subversion"]}].NotEqual[NULL]}) /if (${Ready2Timer}<1) /goto :retry2
/if (${String[${Me.Gem["Covetous Subversion"]}].NotEqual[NULL]}) /goto :ready
/goto :loop2
:ready
/call TwitchTarget
/return
|--------------------------------------
|--- SUB: TwitchTarget
|--------------------------------------
Sub TwitchTarget
/echo To toggle twitching, press Ctrl+\
|--- Main Twitching Loop.
:twitchloop
/doevents
/delay 1
/if (${TwitchToggleChange}==1) {
/varset TwitchToggle ${If[${TwitchToggle}==1,0,1]}
/varset TwitchToggleChange 0
}
/if (${Target.Type.Equal[PC]}) {
/if (${TwitchToggle}==1) {
/if (${Me.SpellReady[Sedulous Subversion]}) /if (${String[${Me.Casting}].Equal[NULL]}) /cast "Sedulous Subversion"
}
}
/doevents
/delay 1
/if (${TwitchToggleChange}==1) {
/varset TwitchToggle ${If[${TwitchToggle}==1,0,1]}
/varset TwitchToggleChange 0
}
/if (${Target.Type.Equal[PC]}) {
/if (${TwitchToggle}==1) {
/if (${Me.SpellReady[Covetous Subversion]}) /if (${String[${Me.Casting}].Equal[NULL]}) /cast "Covetous Subversion"
}
}
/goto :twitchloop
|--- End Main Twitching Loop.
/return
|--------------------------------------
|--- EVENT: OOM
|--------------------------------------
Sub Event_OOM
/echo Twitching stopped due to OOM. Press Ctrl \ at any time to resume.
/varset TwitchToggle 0
/return 


