Necro macro. This is not the public release of these macros, they will be released but I am posting them right now to have some people clean them up for me, if you choose to, you can use them, but you might want to check back in a couple days to get the updated versions of them. Thanks for the cooperation.
Target the main assist in the group, the tank works the best that way you dont break any mezz, but it will break mezz if the assist has the mezzed target targeted and it is under 95%. I havent figured out how to fix that yet. Target the main assist and start the macro. Make sure that you edited the spells in the macro and that you have the spells memmed. I am using the AA 'Death Peace' rather than the spell, so if you need to use the spell I will post how to change it.
Rich (BB code):
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|~~~~~~~~~~~~~~~~~~~~~~FHNecro.mac~~~~~~~~~~~~~~~~~~~~~~~~
|~~~~~~~~~~~~~~~~~~~~~Written by SS44~~~~~~~~~~~~~~~~~~~~~
|~~~~~~~~~~~~~~~~~~~~~~For RedGuides~~~~~~~~~~~~~~~~~~~~~~
|~~~~~~~~~~~~~~~~~~Thanks Siddin and Alat~~~~~~~~~~~~~~~~~
|~~~~~~~~~~~~~~~~~For Helping Clean it up~~~~~~~~~~~~~~~~~
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Spells:
|1:Magic DOT
|2:Fire Dot
|3:Fire Dot
|4:Disease Dot
|5:Nuke1
|6:Lich / Rune / Shielding
|7:Pet Haste
|8:Dis Dot 1 / Twitch 1
|9:Dis Dot 2 / Twitch 2
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Target the main assist in the group then start the macro
|The person that you have targeted will be the assist in the
|Macro, so make sure its someone that will not be mezzing
|Targets and whatnot for best results.
#turbo
#include spell_routines.inc
#chat group
#chat tell
#event Dzadd "PERSONYOUWANTTOADD tells you, 'CODEWORD'"
#event Invite "#*#invites you to join#*#"
#event Lich_Off "The dark spirit fades.#*#"
#event Guard_Off "The shadow fades away.#*#"
#event Pet_Haste "#*#Your pet's Glyph of Darkness spell has worn off#*#"
#event Zoned "#*#You have entered Guild Lobby#*#"
#event Dzquit "#*#You have entered Nedaria's Landing#*#"
#event Rune_Off "You can feel pain again.#*#"
#event FD_fail "#*#has fallen to the ground.#*#"
#event PoK "You have entered Guild Lobby."
#Event Twitch_On "#*#TwitchOn#*#"
#Event Twitch_Off "#*#TwitchOff#*#"
#Event Twitch_Off "#*#Stop Twitching#*#"
#event Being_Hit "#*#your magical skin ABSORBES the blow#*#"
#event Being_Hit "#*#bites YOU for#*#"
#event Being_Hit "#*#bites YOU for#*#"
#event Being_Hit "#*#kicks YOU for#*#"
#event Being_Hit "#*#bashes YOU for#*#"
#event Dot1_Off "#*#Your Dark Nightmare spell has worn off of#*#"
#event Dot2_Off "#*#Your Ancient: Curse of Mori spell has worn off of#*#"
#event Dot3_Off "#*#Your Pyre of Mori spell has worn off of#*#"
#event Dot1_Resist "#*#resisted your Dark Nightmare spell.#*#"
#event Dot2_Resist "#*#resisted your Pyre of Mori spell.#*#"
#event Dot3_Resist "#*#resisted your Funeral Pyre of Kelador spell.#*#"
#event LifeTapRestist "#*#resisted your Ancient: Touch of Orshilak spell.#*#"
#Event MobDied "#*#been slain by#*#"
#Event MobDied "#*#You have slain#*#"
#Event MobDied "#*#experience#*#"
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Main
|~~~~~~~~~~~~~~~~~~~~~~~~~Dots~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/declare MASTER string outer ${Target.Name}
/declare Dot1 outer "Dark Nightmare"
/declare Dot2 outer "Ancient: Curse of Mori"
/declare Dot3 outer "Pyre of Mori"
/declare Nuke1 outer "Acikin"
/declare LifeTap Outer "Ancient: Touch of Orshilak"
|~~~~~~~~~~~~~~~~~~~~~~~~~Buffs~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/declare Rune outer "Dull Pain"
/declare MW outer "Mind Wrack"
/declare Guard outer "Shadow Guard"
/declare Lich outer "Dark Possesion"
/declare Twitch1 string outer "Sedulous Subversion"
/declare Twitch2 string outer "Covetous Subversion"
/declare FD string outer "Death Peace"
|~~~~~~~~~~~~~~~~~~~~~~~Pet Spells~~~~~~~~~~~~~~~~~~~~~~~~~~
/declare Pet outer "Lost Soul"
/declare Pethaste outer "Glyph of Darkness"
|~~~~~~~~~~~~~~~~~~~~~~~~Variables~~~~~~~~~~~~~~~~~~~~~~~~~~
/declare diditresist int outer 0
/declare gettarget int outer 0
/declare Twitching int outer 0
/declare LootAllItems int outer 1
/declare LootSlot int outer 0
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|We are waiting for the hotkey to start the macro
:waitforit
/doevents
/if (${gettarget}==1) {
/call GetTarget
/varset gettarget 0
}
/goto :waitforit
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Twitch_On
/rt
If (${Twisting}==0) {
/if (!${Target.ID}) {
/echo is not in zone for me to Twitch!
/r Im not even in the same zone as you!
/return
}
/delay 2
/if (${Target.Distance}<100) {
/rt
:Twitch_Loop
/doevents
If (${Twisting}==0) {
/call cast ${Twitch1} gem8
/call cast ${Twitch2} gem9
/delay 5
/goto :Twitch_Loop
}
/goto :end
}
}else{
/t ${ChatSender} Your oor sry.
}
}
:end
/varset Twitching 0
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Twitch_Off
/varset Twitching 1
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub GetTarget
:loopstart
/call GM_Check
/ASSIST ${MASTER}
/delay 5
/if (${Target.PctHPs}>=97) {
/goto :loopstart
}
/if (${Me.PctMana}<=20) /call Med
/if (${Me.PctHPs}<=20) /fd_FAIL
/if (${Me.PctHPs}<=40) /potionbelt activate 1
/if (${Target.Distance}>220) /keypress esc
/if (!${Target.ID}) /goto :loopstart
/Pet Attack
/Call Attack
/doevents
/delay 5
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Med
/echo Need mana, medding
/if (${Me.SpellReady[${Lich}]}) {
/stand on
/call cast ${Lich} gem9
/delay 3s
}
/sit on
:MedLoop
/if (${Me.PctMana}>=50) /return
/goto :MedLoop
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Rune_Off
/if (${Me.SpellReady[${Rune}]}) {
/stand on
/call cast ${Rune} gem8
/delay 4s
}
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Succor
/warp loc 245 -33 0
/stand on
/delay 120s
/fade
/delay 60s
/call Regen
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Regen
:regenloop
/potionbelt activate 1
/sit
/if (${Me.PctHPs} == 100) /return
/goto :regenloop
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub GM_Check
/if (${Spawn[gm].ID}) {
/echo Gm detected
/beep
/beep
/beep
/q
/endmac
/unload
/q
}
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub PoK
/echo sorry i don't know how or why but you died.
/delay 45s
/sit on
/camp desktop
/q
/endmacro
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Nuke1
/if (${Me.SpellReady[${Nuke1}]}) {
/stand on
/delay 1s
/call cast ${Nuke1} gem1
/doevents
}
/if (${diditresist}==1) /goto :Main_Dot_Loop
/varset diditresist 0
/echo ${Nuke1} LANDED, on to next spell!
/call cast "Death Peace" alt
/delay 1s
/stand on
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Pet_Haste
/if (${Me.Pet.ID}) {
/if (!${Me.PetBuff[Glyph of Darkness]} {
/stand on
/call PBuffShieldHaste
/assist
}
} else {
/echo You dont have a pet!
/call cast ${Pet} Gem5
}
/echo Shrinking pet twice!!!
/call cast ${Shrink} Gem5
/delay 10
/call cast ${Shrink} Gem5
/pet taunt on
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub PBuffShieldHaste
:DoH
/if (${Me.Pet.ID}) {
/stand on
/delay 2s
/call Cast ${Pethaste} gem7 15s
}
} else {
/echo You dont have a pet!
/call cast ${Pet} Gem5
/goto :DoH
}
/echo Shrinking pet twice!!!
/call cast ${Shrink} Gem5
/delay 10
/call cast ${Shrink} Gem5
/pet taunt on
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Buffs
/if (!${Me.Buff[Seduction of Saryrn].ID}) {
/stand on
/call cast ${Lich} gem6
/delay 5
}
/if (!${Me.Buff[Force Shield].ID}) {
/call cast ${Rune} gem6
}
/if (!${Me.Buff[Shadow Guard].ID}) {
/call cast ${Shielding} gem6
}
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Dot1_Off
/call Dot1
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Dot2_Off
/call Dot2
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Dot3_Off
/call Dot3
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Dot1
:Main_DoT_Loop
/if (${Me.SpellReady[${Dot1}]}) {
/stand on
/delay 1s
/call cast ${Dot1} gem1
/doevents
}
/if (${diditresist}==1) /goto :Main_Dot_Loop
/varset diditresist 0
/echo ${Dot1} is going, on to next spell!
/call cast "Death Peace" alt
/delay 1s
/stand on
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Dot2
:Main_DoT_Loop
/if (${Me.SpellReady[${Dot2}]}) {
/stand on
/delay 1s
/call cast ${Dot2} gem1
/doevents
}
/if (${diditresist}==1) /goto :Main_Dot_Loop
/varset diditresist 0
/echo ${Dot2} is going, on to next spell!
/call cast "Death Peace" alt
/delay 1s
/stand on
/if (${gettarget}==1) {
/call GetTarget
/varset gettarget 0
}
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Dot3
:Main_DoT_Loop
/if (${Me.SpellReady[${Dot3}]}) {
/stand on
/delay 1s
/call cast ${Dot3} gem1
/doevents
}
/if (${diditresist}==1) /goto :Main_Dot_Loop
/varset diditresist 0
/echo ${Dot3} is going, on to next spell!
/call cast "Death Peace" alt
/delay 1s
/stand on
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Attack
/delay 15
:attackstart
/face
/if (${Target.PctHPs}<=90 && ${Target.PctHPs}>=80 && ${Target.Type.NotEqual[PC]}) /call Dot1
/face
/if (${Target.PctHPs}<=80 && ${Target.PctHPs}>=70 && ${Target.Type.NotEqual[PC]}) /call Dot2
/face
/if (${Target.PctHPs}<=70 && ${Target.PctHPs}>=60 && ${Target.Type.NotEqual[PC]}) /call Dot3
/face
/if (${Target.PctHPs}<=98 && ${Target.PctHPs}>=88 && ${Target.Type.NotEqual[PC]}) /call cast "Dagger of Death" item
/face
| /if (${Target.PctHPs}<=45 && ${Target.PctHPs}>=25 && ${Target.Type.NotEqual[PC]}) /call cast "Ossein of Limitless Time" item
/face
/if (${Target.PctHPs}<=40 && ${Target.PctHPs}>=20 && ${Target.Type.NotEqual[PC]}) /call MW
/face
/if (${Target.PctHPs}<=60 && ${Target.PctHPs}>=50 && ${Target.Type.NotEqual[PC]}) /call LifeTap
/face
/if (${Target.PctHPs}<=25 && ${Target.PctHPs}>=15 && ${Target.Type.NotEqual[PC]}) /call Nuke1
/face
/if (!${Target.ID}) /return
/goto :attackstart
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Dot1_Resist
/call Dot1
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Dot2_Resist
/call Dot2
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Dot3_Resist
/call Dot3
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub FD_Fail
/stand on
/if (${Me.SpellReady[${FD}]}) {
/delay 10
/call cast "Death Peace" alt
}
/doevents
/delay 1s
/stand on
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Being_Hit
/call FD_Fail
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Lich_Off
/if (!${Me.Buff[Dark Possession].ID}) {
/stand on
/call cast ${Lich} gem6
/delay 5
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Guard_Off
/if (!${Me.Buff[Dull Pain].ID}) {
/stand on
/call cast ${Guard} gem6
/delay 5
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Event_MobDied
/varset diditresist 0
/varset gettarget 1
/return
Sub MW
/if (${Me.SpellReady[${MW}]}) {
/stand on
/call cast ${MW} gem1
/doevents
}
/if (${diditresist}==1) /goto :Main_Dot_Loop
/varset diditresist 0
/echo ${MW} is going, on to next spell!
/return
Sub LifeTapResist
/call LifeTap
/return
Sub LifeTap
:Main_DoT_Loop
/if (${Me.SpellReady[${LifeTap}]}) {
/stand on
/call cast ${LifeTap} gem1
/doevents
}
/if (${diditresist}==1) /goto :Main_Dot_Loop
/varset diditresist 0
/echo ${LifeTap} LANDED, on to next spell!
/call cast "Death Peace" alt
/delay 1s
/stand on
/return
Last edited: