I'll look at this macro in a day or two.. working on stuff atm.. but I will be focusing on altering it to not use blockbuffs... just dropping the pet's Imbue Ally buff.
Don't go ape crazy using this.... just a suggestion.... because i fully expect ROLLBACKS on any account that has been using this exploit profusely.
--- UPDATE ---
After realizing I can't test this, because I don't have a lvl 105 necro required to cast the spell... I at least tested the proper call methods to drop both BUFF and ShortDurationBuff (song buff) items.
This is dependent on the ScreenIdName being BuffWindow (for buffs) and ShortDurationBuffWindow (for short duration/song/ buffs) within the respective UI XML files.
The default UI calls the screen names these labels... but if you run a custom UI, it may not be the case if the UI's author is calling the screen name differently.
File: EQUI_BuffWindow --- <Screen item="BuffWindow">
File: EQUI_ShortDurationBuffWindow.xml --- <Screen item="ShortDurationBuffWindow">
| - Working call to drop a buff
Rich (BB code):
/nomodkey /notify BuffWindow Buff${Math.Calc[${Me.Buff[Gift of Coagulated Essence Chance].ID}-1].Int} leftmouseup
| - Working call to drop a short duration (song) buff
Rich (BB code):
/nomodkey /notify ShortDurationBuffWindow Buff${Math.Calc[${Me.Song[Gift of Coagulated Essence Chance].ID}-1].Int} leftmouseup
This should be all you need to invoke the buff dropping.. I did not know if its a buff or a song buff.. so provided both examples.
Here is a functioning example of how to remove it regardless if it is a buff or song.
DropBuff.mac
Rich (BB code):
| - Working call to drop buff
|-- /nomodkey /notify BuffWindow Buff${Math.Calc[${Me.Buff[Illusion: Dark Elf].ID}-1].Int} leftmouseup
| - Working call to drop short duration song buff
|-- /nomodkey /notify ShortDurationBuffWindow Buff${Math.Calc[${Me.Song[Frostweave Aura Effect].ID}-1].Int} leftmouseup
|------------------------------------------------------
| SUB: Main
|------------------------------------------------------
Sub Main
/declare bArray int outer
/declare DebugBuffs int outer 0
/declare FoundBuffID int outer 0
/declare BuffToDrop string outer "Gift of Coagulated Essence Chance"
/call DropBuffNow
/return
|------------------------------------------------------
|------------------------------------------------------
| SUB: DropBuffNow
|------------------------------------------------------
Sub DropBuffNow
/echo --------------------------------------
/echo Checking for buff:(${BuffToDrop})
/for bArray 1 to 42
/if (${DebugBuffs}) /echo Buff Slot(${bArray}) - Buff:(${Me.Buff[${bArray}].Name})
/if (${Me.Buff[${bArray}].Name.Equal[${BuffToDrop}]}) {
/varset FoundBuffID 1
/echo I found and am removing Buff:(${Me.Buff[${bArray}].Name})
/nomodkey /notify BuffWindow Buff${Math.Calc[${Me.Buff[${BuffToDrop}].ID}-1].Int} leftmouseup
/return
}
/next bArray
/if (${FoundBuffID}==0) /echo I did not find a Buff called:(${BuffToDrop})
/echo --------------------------------------
/echo Checking for song:(${BuffToDrop})
/for bArray 1 to 30
/if (${DebugBuffs}) /echo SDBuff Slot(${bArray}) - SDBuff:(${Me.Song[${bArray}].Name})
/if (${Me.Song[${bArray}].Name.Equal[${BuffToDrop}]}) {
/varset FoundBuffID 1
/echo I found and am removing SDBuff:(${Me.Song[${bArray}].Name})
/nomodkey /notify ShortDurationBuffWindow Buff${Math.Calc[${Me.Song[${BuffToDrop}].ID}-1].Int} leftmouseup
/return
}
/next bArray
/if (${FoundBuffID}==0) /echo I did not find a SDBuff called:(${BuffToDrop})
/echo --------------------------------------
/return
|------------------------------------------------------