Spells.mac

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

Chill
Contributing Member
Contributing Member
Posts: 435
Joined: Fri May 07, 2004 5:06 pm
Location: Erie, PA

Spells.mac

Post by Chill » Sat Jul 03, 2004 7:11 pm

I started using Fuergrissa's trainspell.mac a while back. It worked well enough for me, but the /goto statements just bothered me so I added a Med Sub and changed the logic some. Borrowed a popup for skill increases and a GMCheck from somewhere else. No verbose logging, by design.

Code: Select all

| spells.mac - 03 July 2004 19:15 EST
| Written by Chill, based on trainspell.mac by Fuergrissa, popup event and GMCheck from Fabolous1
| usage: /mac spells [camp]
| notes: change targets to exit early
|        Macro requires that you have your practice spells memmed, I suggest making a practice spellset.

#Define ArcaneMax 235 
#include spellcast.inc

#event SkillUp "You have become better at #1#! (#2#)"
#event OOM "Insufficient Mana to cast this spell!"

Sub Main 
   /declare ArcaneLevel int outer 
   /declare SpellName string outer 
   /declare GemNumber int outer 0
   /declare Trained int outer
   /varcalc ArcaneLevel ${Me.Level}*5+5    
   /if (${ArcaneLevel}>ArcaneMax) /varset ArcaneLevel ArcaneMax 
   /echo Your Current Spell Cap is ${ArcaneLevel} 

   /target myself

   :TrainingLoop 
   
   /varset Trained 0
   /call GMCheck
   
   /for GemNumber 1 to 8
      /if (${Me.PctMana}<20) /call Med 90
      /if (${Target.ID}!=${Me.ID}) /endmacro
      /varset SpellName ${Me.Gem[${GemNumber}]}
      /if (${Me.Skill[${Spell[${SpellName}].Skill}]}==${ArcaneLevel}) {
         /echo You cannot Increase ${Spell[${SpellName}].Skill} anymore.
      } else /if (${SpellName.NotEqual[NULL]}) {
         /echo Casting ${SpellName} from GemSlot ${GemNumber} of Type ${Spell[${SpellName}].Skill} (${Me.Skill[${Spell[${SpellName}].Skill}]}) 
         /call cast "${SpellName}"
         /varcalc Trained ${Trained}+1 
      }
      /doevents
   /next GemNumber
   
   /if (${Trained}>0) /goto :TrainingLoop

   :Finished 
   /if (${Me.Mount.ID}) /dismount
   /if (!${Me.Sitting}) /sit
   /if (${Param0.Equal[camp]}) {
      /echo Medding to full then Ending.
      /if (${Me.PctMana}<95) /call Med 95
      /camp desktop
   }

/endmacro

Sub Med(int medmana)
   /echo Medding from ${Me.PctMana}% to ${medmana}% mana.
   :Med
   /if (${Target.ID}!=${Me.ID}) /endmacro
   /if (!${Me.Sitting} && !${Me.Mount.ID}) /sit
   /delay 1
   /if (${Me.PctMana} < ${medmana}) /goto :Med
/return

Sub Event_OOM
   /call Med 90
   /doevents OOM flush
/return

Sub Event_SkillUp(string text,string skill_name,int skill_level)
   /popup ${skill_level} ${skill_name}!
/return

Sub GMCheck 
   /if (${Spawn[gm].ID}) { 
      /beep
      /popup GM Spawn!
      /beep      
      /echo GM has entered the zone, camping in 30 seconds!
      /delay 30s
      /keypress forward 
      /keypress back 
      /if (${Me.Mount.ID}) /dismount
      /if (!${Me.Sitting}) /sit
      /camp desktop
      /endmacro 
   } 
/return

FrankJScott
naggy
naggy
Posts: 2384
Joined: Sun Feb 19, 2023 7:11 am

Recommended Skiing Base Layers Site

Post by FrankJScott » Thu Aug 17, 2023 1:17 pm

To the guy inquiring about kari traa merino base layer, smartwool merino 150 long sleeve, merino wool thermals mens, womens merino long underwear, minus 33 merino wool long underwear, wool undershirt women's, I highly suggest this best base layer for skiing details or best heavyweight merino for hunting, icebreaker merino wool base layer, smartwool women's merino 250, merino wool thermals mens, smart wool base layer 250, merino wool long johns mens, and don't forget this top skiing base layers blog on top of icebreaker merino leggings, smartwool merino 150, woolx 400, wool ski underwear, icebreaker women's oasis leggings, kari traa yndling base layer top, alongside all this top base layer for skiing link which is also great. Also, have a look at this top rated base layer for skiing forum alongside all long sleeve merino wool base layer, merino wool base layer big and tall, big and tall merino wool base layer, smart wool mens base layer, icebreaker skin 200 merino, best heavyweight merino wool base layer, on top of this high rated skiing base layers site as well as merino thermal clothing, icebreaker merino wool 200, smart wool baselayers, merino cycling base layer sale, merino wool long underwear sale, smartwool merino 250 base layer at smartwool, alongside all recommended skiing base layers url which is also worth a look. I also suggest this top base layer for skiing info and don't forget merino wool base layer with hood, merino wool thermals sale, costco merino blend base layer, merino wool base layer lidl, discount merino wool base layers, merino wool base layer big and tall, alongside all this high rated base layer for skiing forum on top of merino underlayer, 350 merino wool base layer, smartwool thermal leggings, minero wool base layer, smartwool plus size, mens merino base layer top, not to mention new skiing base layers blog on top of minus 33 merino wool leggings, wool long johns womens, janus merino wool base layer, smartwool long sleeve womens, smartwool base layer womens 250, smartwool men's 250 crew, which is also great. Finally, have a look at this useful base layer for skiing forum with heavyweight merino wool long underwear, mens thermal underwear merino wool, thermal wear merino wool, smart wool womens base layer, smartwool ski base layer, womens smartwool base layer 250, for good measure. Check more @ Recommended Skiing Base Layers Guide 6b3ce3c

FrankJScott
naggy
naggy
Posts: 2384
Joined: Sun Feb 19, 2023 7:11 am

Great Product Tips

Post by FrankJScott » Fri Aug 18, 2023 5:30 pm

Why don't you Google it! before you post