Page 11 of 29

Posted: Wed Aug 18, 2004 9:13 pm
by episix
Thanks much dumbstruck, i'll check it out. ;)

Posted: Thu Sep 02, 2004 8:21 am
by Seariz
Hello, I just started playing my cleric again after a few months vacation and there seems to be ALOT of new updates to AFCleric. One of which is the MoK plugin to the macro, while i do love having it auto MoK every mob. Its not ok to waste 3x the mana on doing so, since it seems to cast it 3 times directly in a row. Is there any way to completely delete the re-cast ability of it? No mob I kill lasts over 3mins so I see no reason for me to re-cast it. Thanks in advance!

Posted: Thu Sep 02, 2004 8:48 am
by aChallenged1
You're talking about the mok include on the previous page right? If that is the case, go back to the original macro without changes on page 1 and just fire off the MoK manually.

While I'm sure there is a way to adjust the inc file, I'm not awake enough to look into it. Perhaps someone else can look into it?

Posted: Thu Sep 02, 2004 11:46 am
by holymoly
hello everyone this is my first usage of macroquest. I downloaded to the macro folder but whenever I start eq and run it I get line saying "Couldn't open include file: C:\Documents and Settings\Owner\Desktop\Blech\Release\Macros\spell_routines.inc" the current macro has ended. Unable to add macro line. any ideas what I am doing wrong?

Posted: Thu Sep 02, 2004 11:49 am
by Rusty~
You need spell_routines.inc ... which you put in your macros folder

Posted: Thu Sep 02, 2004 1:45 pm
by holymoly
many thanks Rusty, got it working like a charm...very impressed so far. Keep up the good work everyone!!!!

Posted: Thu Sep 02, 2004 4:06 pm
by Meydrel'Koth
I noticed that there is code to nuke/stun when high on mana. Would it be hard to have the cleric stun mobs at 20%? I see this alot when there is not a snarer in the group.

BTW kick ass macro.

Posted: Mon Sep 06, 2004 8:46 pm
by fantum409
Seariz the recast on MoK is configurable by editing the addon. To avoid recasting MOK, simply set

Code: Select all

   /if (!${Defined[mokduration]}) /declare mokduration int outer 200
to a real high number, like 99999. It wont recast MOK unless the mob lives a very long time... But you shouldn't be seeing recasts of MOK on a mob that dies fast, I wonder if your seeing recast attempts for when MOK is resisted. Number of recast attempts is similarly configurable

Code: Select all

   /if (!${Defined[mokretrylimit]}) /declare mokretrylimit int outer 5
change the 5 to whatever you want.

Meydrel'Koth it would be possible to make this macro do that if you wanted. The Mokaddon.inc could be easily modified to do that.

I haven't had much time to pour into macro writing lately, hopefully get to it eventually. I have a modified version of MOK addon that I use for nukes. I dont bother casting MOK normally, only in special situations. But if cleric tends toward being idle, I make her DPS a little. This is an example of how I changed mokaddon to suit my purposes, surely you can change a cuple lines and make it stun instead.

Code: Select all

|** mokaddon.inc (for AFCleric.mac)

NEEDS THESE FOUR LINES ADDED TO AFCleric.mac:

1)beginning of mac, before Sub Main put:
#include mokaddon.inc

2)beginning of mac, in the declares section put:
   /declare mokaddon int outer 1

3)middle of Sub Healgroup, right below the line that is <         /if ((${healpetmode}>0)&&(${Me.PctMana}>=${manatohealpet})) /call HealPet>
         /if (${mokaddon}==1) /if (${Target.ID}==${tanknameid}) /call AutoMOK

4)end of Sub Healgroup, right above the /return line put:
   /if (${mokaddon}==1) /call AutoMOK


Configuration/variable definitions:
   mokspell is item that casts MOK. To use a spell instead, replace <"Chestplate of Stability" item> with <"Mark of Kings" spell> or whatever you're using
   mokmaxrange is max distance a mob can be to cast MOK
   mokduration (seconds x10) before cleric will re-MOK a given mob
   mokmaxcount is max number of mobs, within mokaddrange radius. If more than specified number of mobs within specified radius, cleric will skip MOK and just heal
   mokmaxhealth is max HP mob can have to trigger MOK, mokminhealth is minimum
   mokminmana is min mana cleric must have before casting MOK
   mokretrylimit is number of casts before giving up MOK
Once you've added those 4 lines to the main macro, then reviewed/edited variables in this inc as above, your GTG 

FaNTuM's mokaddon.inc v1.0  **|




Sub AutoMOK
|EDIT THESE VARIABLES AS NEEDED
   /if (!${Defined[mokspell]}) /declare mokspell string outer "Order" spell
   /if (!${Defined[mokmaxrange]}) /declare mokmaxrange int outer 100
   /if (!${Defined[mokduration]}) /declare mokduration int outer 200
   /if (!${Defined[mokmaxcount]}) /declare mokmaxcount int outer 3
   /if (!${Defined[mokaddrange]}) /declare mokaddrange int outer 50
   /if (!${Defined[mokmaxhealth]}) /declare mokmaxhealth int outer 90
   /if (!${Defined[mokminhealth]}) /declare mokminhealth int outer 5
   /if (!${Defined[mokminmana]}) /declare mokminmana int outer 75
   /if (!${Defined[mokretrylimit]}) /declare mokretrylimit int outer 5
|END EDITING


|Internal use defines
   /if (!${Defined[mokretrycount]}) /declare mokretrycount int outer 0
   /if (!${Defined[mokmobida]}) /declare mokmobida int outer 0
   /if (!${Defined[mokmobidb]}) /declare mokmobidb int outer 0
   /if (!${Defined[mokmobidc]}) /declare mokmobidc int outer 0
   /if (!${Defined[mokmobidd]}) /declare mokmobidd int outer 0
   /if (!${Defined[mokmobide]}) /declare mokmobide int outer 0
   /if (!${Defined[moktemptargetid]}) /declare moktemptargetid int outer 0
   /if (!${Defined[moktemptargetname]}) /declare moktemptargetname string outer NULL
   /if (${Me.PctMana}<${mokminmana}) /return

|Nuke mod routine, delete for mokversion
   /if ((!${Me.SpellReady[Order]})&&(!${Me.SpellReady[Condemnation]})) /return
   /if (!${Me.SpellReady[Order]}) /if (${Me.SpellReady[Condemnation]}) /varset mokspell "Condemnation" spell
   /if (!${Me.SpellReady[Condemnation]}) /if (${Me.SpellReady[Order]}) /varset mokspell "Order" spell
|End Nuke mod routine. See also mokspell variable setting if removing nukemod, and announce line below

   /if (${NearestSpawn[${Math.Calc[${mokmaxcount}+1]}, NPC].Distance}<${mokaddrange}) /return
   /if (${moktemptargetid}!=0) /if ((!${Spawn[${moktemptargetid}].ID})||(${String[${Spawn[${moktemptargetid}].Name}].NotEqual[${moktemptargetname}]})) {
      /varset moktemptargetid 0
      /varset mokretrycount 0
      /varset moktemptargetname NULL
   }
   /if ((!${Spawn[${mokmobida}].ID})||(${Spawn[${mokmobida}].Type.Equal[corpse]})) /varset mokmobida 0
   /if ((!${Spawn[${mokmobidb}].ID})||(${Spawn[${mokmobidb}].Type.Equal[corpse]})) /varset mokmobidb 0
   /if ((!${Spawn[${mokmobidc}].ID})||(${Spawn[${mokmobidc}].Type.Equal[corpse]})) /varset mokmobidc 0
   /if ((!${Spawn[${mokmobidd}].ID})||(${Spawn[${mokmobidd}].Type.Equal[corpse]})) /varset mokmobidd 0
   /if ((!${Spawn[${mokmobide}].ID})||(${Spawn[${mokmobide}].Type.Equal[corpse]})) /varset mokmobide 0
   /target id ${tanknameid}
   /if (${Target.ID}==${tanknameid}) {
      /assist
      /delay 5 ${Target.Type.Equal[NPC]}
      /if (${Target.ID}==${tanknameid}) {
         /assist
         /delay 5 ${Target.Type.Equal[NPC]}
      }
      /if (${Target.Type.NotEqual[npc]}) /return
      /if ((${Target.ID}==${mokmobida})||(${Target.ID}==${mokmobidb})||(${Target.ID}==${mokmobidc})||(${Target.ID}==${mokmobidd})||(${Target.ID}==${mokmobidd})) /return
      /if (!${Target.LineOfSight}) /return
      /if (${Target.Distance}>${mokmaxrange}) /return
      /if (${Target.Type.Equal[NPC]}) /delay 3
      /if ((${Target.Type.Equal[NPC]})&&(${Target.PctHPs}<=${mokmaxhealth})&&(${Target.PctHPs}>=${mokminhealth})) {
         /if (${Target.ID}!=${moktemptargetid}) {
            /varset moktemptargetid ${Target.ID}
            /varset moktemptargetname ${Target.Name}
            /varset mokretrycount 0
         }
         /if (${mokretrycount}>=${mokretrylimit}) /return
         /call Cast ${mokspell} 2s

|Nuke mod line insertion, remove for original mokaddon
         /if (${announce}==1) /g Nuke down on %T
|End Nuke mod line insertion

         /if (${Macro.Return.Equal["CAST_SUCCESS"]}) {
            /varset moktemptargetid 0
            /varset moktemptargetname NULL
            /varset mokretrycount 0
            /if (${mokmobida}==0) {
               /varset mokmobida ${Target.ID}
               /timed ${mokduration} /varset mokmobida 0
            } else /if (${mokmobidb}==0) {
               /varset mokmobidb ${Target.ID}
               /timed ${mokduration} /varset mokmobidb 0
            } else /if (${mokmobidc}==0) {
               /varset mokmobidc ${Target.ID}
               /timed ${mokduration} /varset mokmobidc 0
            } else /if (${mokmobidd}==0) {
               /varset mokmobidd ${Target.ID}
               /timed ${mokduration} /varset mokmobidd 0
            } else /if (${mokmobide}==0) {
               /varset mokmobide ${Target.ID}
               /timed ${mokduration} /varset mokmobide 0
            }
            /return
         }
         /if ((${Macro.Return.Equal["CAST_NOTREADY"]})||(${Macro.Return.Equal["CAST_CANNOTSEE"]})||(${Macro.Return.Equal["CAST_INTERRUPTED"]})||(${Macro.Return.Equal["CAST_CANCELLED"]})) /return
         /varcalc mokretrycount ${mokretrycount}+1
      }
   }
/return
One of these days I should really finish adding customization for heals to each specific class, ini support, and put these addons into a big include file that is standard with the macro and configurable along with its other options. But as I said, haven't been writing much lately.

If you use this plz be sure to read the options at the top, should be self explanatory how to tweak this.

Enjoy~

Posted: Wed Sep 08, 2004 10:00 am
by Fuergrissa
This macro is great and the mokaddon is awesome, i dont suppose anyone wants the challenge of adding an Inc for using the Ornate greaves to cast the hammer pet just before or just after the MoK.
I have coded a few macros but this is way beyond me i think. If noone jumps at it i may try and rip the MokAddon myself and botch one :)

Many Thanks in advance.

Posted: Fri Sep 10, 2004 2:33 am
by Frank25
I have an odd problem.

Before your latest update to get rid of the spell ducking i had NO problems with it. Only time my cleric got off his horse when it had to interupt a spell due to his target dying to fast. no biggie.

Now that i updated to the LATEST code (i rechecked twice) after every heal cast cleric ducks and get off horse.
Or simply ducks even when not on a horse.

I've tried inserting the noducking code you posted in a few places but it never worked.

Is this something you are still working on or is there something i am doig wrong?

Posted: Fri Sep 10, 2004 1:40 pm
by TI994a
Love this macro!

One issue I have with it, should be simple enough to fix... When cleric dies, and is rezzed back into zone, macro starts spamming group trying to heal self, because of the low health of cleric, and the OOM of cleric. Could you add in the ability to pause the macro, or end it if need be, upon death? That way, once the cleric is rezzed back into group, he/she can loot corpse, set up and med, and then unpause as soon as he/she is ready to go again. And no group spams. And no one wondering why the cleric is spamming group 100 times in the span of 5 seconds trying to heal themselves after rez.

Thanks!

- TI

Posted: Sun Sep 12, 2004 3:36 am
by in_training
/mqpause

Posted: Wed Sep 15, 2004 11:34 am
by vanemon
after oow patch i get now the message lom, oom as soon as i start the macro - same on the modified one with the *.ini file.

anyone else that has the same problems or knows how to fix it pplz?

Posted: Wed Sep 15, 2004 12:11 pm
by redeye93
Mine doesn't even cast anymore after OoW patch. Humbly awaiting a fix to my fave macro omg! I actually have to manually heal...blasphemy!!!! :P

Posted: Wed Sep 15, 2004 1:07 pm
by ztrike
vanemon wrote:after oow patch i get now the message lom, oom as soon as i start the macro - same on the modified one with the *.ini file.

anyone else that has the same problems or knows how to fix it pplz?
http://www.macroquest2.com/phpBB2/viewtopic.php?t=9272