• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Project 2002 - Wayfarer's Haven Magician Macro

Joined
Oct 5, 2012
RedCents
2,324¢
** THIS IS A WORK IN PROGRESS **

Much like my Wizard macro, this is a very basic kind of simple macro. I am building upon it as the Magician gets more tools to use.

What is will do:

  • Assist the Main Assist and begin nuking enemies that fall below its NukeAt threshold
  • Will send it pet once enemies fall below the AssistAt threshold
  • Keep a pet summoned at all times. Whether it dies during combat or you lose it zoning.
  • Keep pet buffed with Burnout
  • Keep self buffed with caster self shield buff (Arch Shielding in its current case)
For anyone playing WFH/P2002 I hope this helps, and if there are any problems just let me know. I'll do my best to fix them :)

**Place it in your MQ2 Macro folder, target the person you plan to have as your Main Assist, and /mac WFHMag to begin.

[CODE lang="ini" title="Wayfarer's Haven Magician"]
#chat tell
#turbo 40

#event Follow "#1# tells you, 'Follow'"
#event Stay "#1# tells you, 'Stay'"
#event PetReset "##has been slain##"
#event PetReset "You gain party experience!!"


Sub Main

/declare MainAssist string outer ${Target.CleanName}
/declare MyPet string outer ${Target.Pet}
/declare AssistAt int outer 95
/declare AssistAtDis int outer 100
/declare NukeAt int outer 80
/declare MageNukeSpell string outer "Lava Bolt"
/declare MageNukeTimer1 timer outer 0
/declare MageNukeMana int outer
/declare SelfBuff1 string outer "Arch Shielding"
/declare SelfBuff1Mana int outer 200
/declare PetSpell string outer "Monster Summoning II"
/declare PetSpellMana int outer 200
/declare PetBuff1 string outer "Burnout III"
/declare PetBuff1Mana int outer 150
/declare SitTimer timer outer 0
/declare PetAttacking int outer 0

/echo Wayfarer's Haven Magician Macro has started!
/echo Assisting ${MainAssist}
/echo Sending pet in to attack at ${AssistAt}%
/echo Nuking targets at ${NukeAt}%
/assist off

:loop
/doevents
/if (${Me.Casting.ID} || ${Me.Moving}) /goto :loop
/call SummonPet
/call PetAttack
/call Nuke1
/call ManaCheck
|/call SelfBuffs
|/call Buffs
/call PetBuffs
/goto :loop
/return

Sub Nuke1
/if (${Me.CurrentMana}<${MageNukeMana}) /return
/if (${Target.Distance} > ${AssistAtDis}) /return
/if (${MageNukeTimer1}!=0) /return
/assist ${MainAssist}
/delay 2
/if (${Target.Type.NotEqual[NPC]} || ${Target.Type.Equal[PC]} || ${Target.Type.Equal[CORPSE]} || !${Target.ID} || !${Me.SpellReady[${MageNukeSpell}]} || ${Target.PctHPs} > ${NukeAt} && ${Target.Type.NotEqual[NPC]}) /return
/if (${Target.Type.Equal[NPC]} && ${Target.PctHPs} < ${NukeAt}) {
/delay 1
/casting ${MageNukeSpell} gem1 -maxtries|3
/if (${Macro.Return.Equal[CAST_SUCCESS]}) /varset MageNukeTimer1 300
}
/if (${MageNukeTimer1} > 0) /return
/return

Sub PetAttack
/if (${Target.Distance} > ${AssistAtDis}) /return
/if (${PetAttacking}==1) /return
/if (${Target.ID} && ${Target.Distance} < ${AssistAtDis} && ${Target.PctHPs} < ${AssistAt} && !${Target.Type.Equal[PC]} && !${Target.Type.Equal[CORPSE]}) {
/pet attack
/varset PetAttacking 1
/delay 3
}
/return

Sub ManaCheck
/if (${Me.Casting.ID} || ${Me.Moving}) /return
/if (${Me.Standing}&&!${Stick.Active}&&!${Me.Mount.ID}&&${Me.PctMana}<100&&${SitTimer}==0) {
/sit on
/varset SitTimer 40
}
/return

Sub SelfBuffs
/if (${Me.CurrentMana}<${SelfBuff1Mana}) /return
/if (${Me.Buff[${SelfBuff1}].Duration}<5) {
/target ${Me} PC
/delay 1
/casting ${SelfBuff1} gem7
}
/return

Sub Buffs
/return

Sub SummonPet

/if (!${Me.Pet.ID}&&${Me.CurrentMana}>${PetSpellMana}) {
/casting ${PetSpell} gem8
}
/return

Sub PetBuffs

/if (${Me.Pet.ID}>0 && ${Me.PetBuff[${PetBuff1}]}==NULL && !${Me.Moving} && !${Me.Casting.ID} && !${Stick.Active} && ${Me.CurrentMana}>=${PetBuff1Mana}) {
/casting ${PetBuff1} 6 -maxtries|5
}
/return

Sub Event_Follow
/target ${MacroQuest.LastTell}
/delay 1
/tell ${MacroQuest.LastTell} Following you
/stick
/return

Sub Event_Stay
/stick off
/tell ${MacroQuest.LastTell} Staying here
/delay 1
/if (!${Me.Sitting}&&!${Stick.Active}&&!${Me.Moving}&&${Me.PctMana}<100) {
/sit on
}
/return

Sub Event_PetReset
/if (${PetAttacking}==1) {
/varset PetAttacking 0
}
/return
[/CODE]
 

Attachments

Last edited:
Project 2002 - Wayfarer's Haven Magician Macro

Users who are viewing this thread

Back
Top
Cart