• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->
MQ2Melee

Plugin - MQ2Melee (1 Viewer)

Rich (BB code):
downshit0=/if (${FindItemCount[Summoned: Shuriken of Quellious]}<6 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat} && !${Cursor.ID})  /casting "Silver Moon Wrist Wraps" item
downshit1=/if (${Cursor.ID}==${FindItem[Pouch of Quellious].ID}) /destroy
downshit2=/if (${Cursor.ID}==${FindItem[Summoned: Shuriken of Quellious].ID}) /autoinventory

Try adding this somewhere in your downshift0: ${SpawnCount[npc radius 50]} >=1
Or maybe this: !${Me.XTarget} >= 1
 
I'll try that when I get home tonight, thank you very much. I hate working holiday weekends, :(

- - - Updated - - -

I got it to behave last night with this.

Rich (BB code):
downshit0=/if (${FindItemCount[Summoned: Shuriken of Quellious]}<6 && ${SpawnCount[npc radius 100]} ==0 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat} && !${Me.Feigning} && !${Cursor.ID}) /casting "Silver Moon Wrist Wraps" item

/echo returns
[MQ2] /if (5<6 && 0 ==0 && !FALSE && !FALSE && !FALSE && !FALSE && !FALSE && !NULL)

When I added the red section it went back to trying to cast as soon as it went below 6 shurikens (tagged a mob).

Rich (BB code):
downshit0=/if (${FindItemCount[Summoned: Shuriken of Quellious]}<6 && ${SpawnCount[npc radius 100]} ==0 && ${Me.XTarget} == 0 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat} && !${Me.Feigning} && !${Cursor.ID}) /casting "Silver Moon Wrist Wraps" item

/echo returns
[MQ2] /if (5<6 && 0 ==0 && 0 == 0 && !FALSE && !FALSE && !FALSE && !FALSE && !FALSE && !NULL)

Does the == force it to be a true staatement no matter what? If that is true I think it should be like this.

Rich (BB code):
downshit0=/if (${FindItemCount[Summoned: Shuriken of Quellious]}<6 && ${SpawnCount[npc radius 100]} <1 && ${Me.XTarget} <1 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat} && !${Me.Feigning} && !${Cursor.ID}) /casting "Silver Moon Wrist Wraps" item

Is my thinking correct? The reason for the radius 100 is Kissassist closes to 88 before it tries to tag and sometimes the mobs are moving away from him. I put in the !${Me.Feigning} because I had feigned and it stood him up when it tried to cast.

While slowly composing this post I might have found my problem, there is an extra space after the == in the second one. Any clarification and direction greatly appreciated.

The third one I posted works very well. It waits until the pulled mob is dead then summons shurikens before continuing to pull.
 
Last edited:
I have a Quick question, Holyshits and Downshits. I've Read the FAQ but Still I don't have an understanding of Exactly what these are and how they work. I also do not understand Where in the .Ini File I should be putting these.

Anyone that could help it would be fantastic Thanks
 
Holy/Downshits go in the Server.CharacterName.ini in the Macroquest root directory. They can be tuned to do a great variety of actions with very precise conditions before the actions are taken. You can make them as precise as you want them. If you read through this thread you may find one already written for what you want to do.
 
I have a Quick question, Holyshits and Downshits. I've Read the FAQ but Still I don't have an understanding of Exactly what these are and how they work. I also do not understand Where in the .Ini File I should be putting these.

Anyone that could help it would be fantastic Thanks

They normally are found in your release folder. In game if you do /melee then a /melee save it will create the file if it isn't already done. Then you can go to your release folder and look for a file servername_toonname.ini In my case mine are test_Badshadownknight.ini

There are two things you need to do in that ini file.
First if you are creating a downflag, on its own line type:
Downflag0=1
What this does is turn on the downflag if you put downflag0=0 then that downflag will not fire. On the next line put in your specific code you want to fire:
Downshit0=/if (!${Me.Buff[Illusion: Werewolf].ID} && ${Cast.Ready[Lute of the Howler]} && ${Spell[Illusion: Werewolf].Stacks} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && ${Me.Standing} && !${Me.Invis}) /useitem "Lute of the Howler" item
So together they look like this:
Rich (BB code):
Downflag0=1
Downshit0=/if (!${Me.Buff[Illusion: Werewolf].ID} && ${Cast.Ready[Lute of the Howler]} && ${Spell[Illusion: Werewolf].Stacks} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && ${Me.Standing} && !${Me.Invis}) /useitem "Lute of the Howler" item

As Randyleo stated above if you look through this thread you might see something you can use.
 
100 SK
Rich (BB code):
downshit0=/if (${Spell[Grelleth's Skin].Stacks} && !${Me.Buff[Grelleth's Skin].ID} && !${Me.Moving} && !${Me.Invis}) /casting "Grelleth's Skin"
downshit1=/if (${Spell[Steadfast Stance Rk. II].Stacks} && !${Me.Buff[Steadfast Stance Rk. II].ID} && !${Me.Moving} && !${Me.Invis}) /casting "Steadfast Stance Rk. II"
downshit2=/if (${Spell[Form of Defense XIII].Stacks} && !${Me.Buff[Form of Defense XIII].ID} && !${Me.Moving} && !${Me.Invis}) /casting "Tidesworn Eye"|item
downshit3=/if (${Spell[Myrmidon's Skill VIII].Stacks} && !${Me.Buff[Myrmidon's Skill VIII].ID} && !${Me.Moving} && !${Me.Invis}) /casting "King's Hide Pauldrons"|item
downshit4=/if (${Spell[Essence of Bertoxxulous].Stacks} && !${Me.Buff[Essence of Bertoxxulous].ID} && !${Me.Moving} && !${Me.Invis}) /casting "Polymorph Wand: Plaguebringer"|item
downshit5=/if (${Spell[Soothing Breath XIII].Stacks} && !${Me.Buff[Soothing Breath XIII].ID} && !${Me.Moving} && !${Me.Invis}) /casting "Deadgem Earring"|item
downshit6=/if (${Spell[Spikecoat].Stacks} && !${Me.Buff[Spikecoat].ID} && !${Me.Moving} && !${Me.Invis}) /casting "Girdle of Living Thorns"|item
downshit7=/if (${Spell[Storm Guard].Stacks} && !${Me.Buff[Storm Guard].ID} && !${Me.Moving} && !${Me.Invis}) /casting "Stormeye Band"|item
downshit8=/if (${Spell[Taelosian Guard].Stacks} && !${Me.Buff[Taelosian Guard].ID} && !${Me.Moving} && !${Me.Invis}) /casting "Shiny Green Ring"|item
downshit9=/if (${Me.PctEndurance}<20 && ${Me.CombatAbilityReady[Rest Rk. III]} && ${Me.CurrentEndurance}>100 && ${Melee.DiscID}==0) /disc Rest Rk. III
downshit10=/if (${Spell[Twitching Speed].Stacks} && !${Me.Buff[Twitching Speed].ID} && !${Me.Moving} && !${Me.Invis}) /casting "Lizardscale Plated Girdle"|item
downshit11=/if (${Spell[Might of Stone VII].Stacks} && !${Me.Buff[Might of Stone VII].ID} && !${Me.Moving} && !${Me.Invis}) /casting "Blue Coral Stud"|item
downshit12=/if (${Spell[Expanding Mind XI].Stacks} && !${Me.Buff[Expanding Mind XI].ID} && !${Me.Moving} && !${Me.Invis}) /casting "Sorrowsong Sash"|item
downshit13=/if (${Spell[Voice of Thule].Stacks} && !${Me.Buff[Voice of Thule].ID} && ${Me.AltAbilityReady[Voice of Thule]} && !${Me.Moving} && !${Me.Invis}) /multiline ; /target myself ; /alt act 7000
holyshit0=/if (${Me.Combat} && ${Target.Type.Equal[NPC]} && ${Me.AltAbilityReady[Vicious Bite of Chaos]}) /casting "Vicious Bite of Chaos"
holyshit1=/if (${Me.Combat} && ${Target.Type.Equal[NPC]} && ${Me.AltAbilityReady[Ragged Bite of Agony]}) /casting "Ragged Bite of Agony"
holyshit2=/if (${Target.Named} && ${Cast.Ready[129223]}) /casting "Incandescent Shard"|Item
holyshit3=/if (${Me.Combat} && ${Target.Type.Equal[NPC]} && ${Me.AltAbilityReady[Vicious Bite of Chaos]}) /casting "Vicious Bite of Chaos"
holyshit4=/if (${Me.Combat} && ${Me.PctEndurance}>20 && ${Target.Type.Equal[NPC]} && ${Me.CombatAbilityReady[Gashing Blade]}) /disc Gashing Blade
holyshit5=/if (${Me.Combat} && ${Me.PctEndurance}>20 && ${Target.Type.Equal[NPC]} && ${Me.CombatAbilityReady[Spite of Ronak Rk. III]}) /disc Spite of Ronak Rk. III
holyshit6=/if (${Me.Combat} && ${Target.Type.Equal[NPC]} && ${Me.AltAbilityReady[Banestrike]}) /casting "Banestrike"
holyshit7=/if (${Me.CombatState.Equal[COMBAT]} && ${Cast.Ready[70975]}) /casting "Mark of the Dragon Slayer"|Item
holyshit8=/if (${Me.Combat} && ${Target.Named} && ${Me.AltAbilityReady[Chattering Bones]}) /casting "Chattering Bones"
 
My current setup for my bards melee:
holyshit0=/if (${Me.CombatState.Equal[COMBAT]} && ${Target.Named} && ${Me.AltAbilityReady[Quick Time]}) /alt act 3702
holyshit1=/if (${Me.CombatState.Equal[COMBAT]} && ${Me.Song[Quick Time].ID} && ${Me.CombatAbilityReady[Thousand Blades]}) /disc 8030
holyshit2=/if (${Me.CombatState.Equal[COMBAT]} && ${Me.Song[Quick Time].ID} && ${Me.AltAbilityReady[Dance of Blades]}) /alt act 359
holyshit3=/if (${Me.CombatState.Equal[COMBAT]} && ${Me.Song[Quick Time].ID} && ${Me.AltAbilityReady[Fierce Eye]}) /alt act 3506
holyshit4=/if (${Me.CombatState.Equal[COMBAT]} && ${Me.Song[Quick Time].ID} && ${Me.AltAbilityReady[Fundament: Second Spire of the Minstrels]}) /alt act 1422
holyshit5=/if (${Me.CombatState.Equal[COMBAT]} && ${Target.Named} && ${Me.AltAbilityReady[Funeral Dirge]}) /alt act 777
holyshit6=/if (${Me.CombatState.Equal[COMBAT]} && ${Target.Named} && ${Me.AltAbilityReady[Song of Stone]}) /alt act 544
holyshit7=/if (${Me.CombatState.Equal[COMBAT]} && ${Me.PctHPs}<50 && ${Me.AltAbilityReady[Fading Memories]}) /alt act 212
holyshit8=/if (${Me.CombatState.Equal[COMBAT]} && ${Me.AltAbilityReady[Lyrical Prankster]}) /alt act 8204
holyshit9=/if (${Me.CombatState.Equal[COMBAT]} && ${Me.AltAbilityReady[Selo's Kick]}) /alt act 8205

Can you think of anything I could add to improve his melee setup? I put Selo's Kick on a holyshit because using melee to handle it leaves what seems to me a long time of the ability being ready between kicks.
 
having problems targeting myself, clicking an item, then hitting tab, to re-target last target. It keeps targeting last target first, casting the buff... then recasting it.. etc...

downshit3=/if (!${Me.Buff[Resist Disease].ID} && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat}) /Multiline ; /target myself ; /Casting "Bangle of Disease Warding" ; /keypress TAB

Thanks in advance.
 
This is a downshit. It casts when you are not in combat. Why do you need to re-target anything? Try this for your multiline.

Rich (BB code):
 /Multiline ; /target pc ${Me}; /timed 15 ; /Casting "Bangle of Disease Warding"
 
I have not tested this in combat, but here is one that should work for you. I originally had a check and stopdisc, but after testing flash of anger it can be tossed while burning a disc.

/if (${Me.CombatState.Equal[COMBAT]} && ${Me.PctHPs}<10 && ${Me.CombatAbilityReady[Flash of Anger]} && ${Me.CurrentEndurance}>${Spell[Flash of Anger].EnduranceCost}) /disc Flash of Anger
 
I've been messing around with making some flags for my box team and thought I would share. I think one or two are similar to other versions I have seen posted so I'll try and limit overlap/duplication. Also a big thanks to all the posts in this thread - was very helpful in figuring out how to make these. As a novice, any feedback and/or improvements are definitely appreciated. I'm posting flags for Druid, Magician, Shaman, Enchanter, and Bard; and remember to substitute in your correct level / rank appropriate spell where needed!

Druid
Frostweave Aura. Maintain Druid damage proc aura in a dedicated spell gem (gem 12 in this case):
Rich (BB code):
downflag1=1
downshit1=/if (${Spell[Frostweave Aura].Stacks[0]} && !${Me.Aura[Frostweave Aura].Length} && !${Me.Moving} && !${Me.Invis}) /casting "Frostweave Aura" gem12

Spirit of the Black Wolf. The next two go together (although you could separate them if you wanted). These will keep (Group) Spirit of the Black Wolf up on yourself (or group) constantly whenever the abilities are available BUT it prevents them from simultaneously activating so you don't "waste" the effects:
Rich (BB code):
downflag2=1
downshit2=/if (!${Me.Buff[Spirit of the Black Wolf].ID} && !${Me.Buff[Group Spirit of the Black Wolf].ID} && ${Me.CombatState.Equal[COMBAT]} && ${Me.AltAbilityReady[Spirit of the Black Wolf]} && !${Me.Invis}) /alt act 1092
downflag3=1
downshit3=/if (!${Me.Buff[Spirit of the Black Wolf].ID} && !${Me.AltAbilityReady[Spirit of the Black Wolf]} && ${Me.CombatState.Equal[COMBAT]} && ${Me.AltAbilityReady[Group Spirit of the Black Wolf]} && !${Me.Invis}) /alt act 10397

Magician
Thaumatize Pet. This will keep up the mana regen boost from Thaumatize Pet:
Rich (BB code):
downflag1=1
downshit1=/if (!${Me.Buff[Thaumatize Pet Mana Regen Base].ID} && ${Cast.Ready[Thaumatize Pet]} && !${Me.Moving} && !${Me.Invis} && ${Me.PctMana}<90) /casting "Thaumatize Pet"

Shaman
Cannibalization AA. Here is one for AA Canni:
Rich (BB code):
downflag1=1
downshit1=/if (!${Me.Invis} && ${Me.PctHPs}>50 && ${Me.PctMana}<70  && ${Me.AltAbilityReady[Cannibalization]}) /alt act 47

Cannibalization Spell. This one is for spell Canni in a dedicated spell gem (12 in this case):
Rich (BB code):
downflag2=1
downshit2=/if (!${Me.Invis} && ${Me.PctMana}<95 && ${Cast.Ready[Ancestral Covenant Rk. II]} && !${Me.Moving}) /casting "Ancestral Covenant Rk. II" gem12

This next one took a lot of trial and error (probably since I don't know what I'm doing :p) and I'm happy for suggestions on cleaning it up.

Frost Gift/Twinheal. This will cast any of the "Gift" nukes that proc the short duration Twinheal buff. It will attempt to keep Twinheal up at all times. This one was tricky because it's a Target's Target nuke so you have to have an ally on target to cast. In order for it to work I set my main tank as the first extended target slot (I'd really like to improve this so it targets the main tank (assigned group role) or a specific named character without using the XTarget window):
Rich (BB code):
downflag3=1
downshit3=/if (${Me.CombatState.Equal[Combat]} && ${Cast.Ready[Frost Gift]} && !${Me.Invis} && !${Me.Moving} && !${Me.Song[Healing Twincast].ID}) /multiline ; /target ${Me.XTarget[1]} ; /casting "Frost Gift"
If you find you're not keeping up Twinheal as much as you'd like (since the "Gift" line has a long refresh) then just add another downshit with a different Gift spell using that same code. This spell line is not timer linked so you can use however many - the Twinheal proc is not level restricted so I go with the Lv. 85 one (Frost Gift) to save mana even at 105.

Enchanter
Auras. Some auras were posted previously I believe but here are the three I always used with the updated spells for Lv. 105. These all use a dedicated spell gem (slot 12 in this case). And of course you can only pick two to use at a time!:
Rich (BB code):
downflag1=1
downshit1=/if (${Spell[Augmenting Aura].Stacks[0]} && !${Me.Aura[Augmenting Aura].Length} && !${Me.Combat} && !${Me.Moving} && !${Me.Invis}) /casting "Augmenting Aura" gem12
downflag2=1
downshit2=/if (${Spell[Twincast Aura Rk. III].Stacks[0]} && !${Me.Aura[Twincast Aura].Length} && !${Me.Combat} && !${Me.Moving} && !${Me.Invis}) /casting "Twincast Aura Rk. III" gem12
downflag3=1
downshit3=/if (${Spell[Mana Reciprocation Aura].Stacks[0]} && !${Me.Aura[Mana Reciprocation aura].Length} && !${Me.Combat} && !${Me.Moving} && !${Me.Invis}) /casting "Mana Reciprocation Aura" gem12

Eldritch Rune. This will activate Eldritch Rune AA *after* your self Unity rune drops so you don't "waste" it in case you're getting hit:
Rich (BB code):
downflag4=1
downshit4=/if (!${Me.Buff[Enticer's Rune Rk. III].ID} && ${Me.AltAbilityReady[Eldritch Rune]} && {Me.PctHP}<100 !${Me.Invis}) /alt act 173

Veil of Mindshadow. Super basic one that will maintain Veil of Mindshadow at all times provided it's available:
Rich (BB code):
downflag5=1
downshit5=/if (!${Me.Buff[Veil of Mindshadow].ID} && ${Me.AltAbilityReady[Veil of Mindshadow]} && !${Me.Invis}) /alt act 791

Unity Rune. This will keep up your Unity rune if you're not at max HP (i.e. you're getting hit) in a dedicated spell gem (11 in this case):
Rich (BB code):
downflag6=1
downshit6=/if (!${Me.Buff[Polyiridescent Rune Rk. III].ID} && ${Cast.Ready[Phantasmal Unity Rk. III]} && {Me.PctHP}<100 && !${Me.Moving} && !${Me.Invis}) /casting "Phantasmal Unity Rk. III" gem11

Bard
These Bard flags are focused on maximizing ADPS in the group so it tries to keep up burn stuff as often as possible. It also prevents the horrible stacking issue of Fierce Eye killing Enchanter Illusions of Grandeur if that is running. These are aimed moreso to a caster heavy group.

Bard Epic 2.0. Will cast Spirit of Vesagran any time it is available but only if you're in combat mode:
Rich (BB code):
holyflag1=1
holyshit1=/if (${Spell[Spirit of Vesagran].Stacks[20]} && !${Me.Moving} && ${Me.Combat} && !${Me.Invis}) /casting "Blade of Vesagran" item

Fierce Eye. This will maintain Fierce Eye any time it is available but only if you're in combat and Illusions of Grandeur is not running:
Rich (BB code):
holyflag2=1
holyshit2=/if (${Me.AltAbilityReady[Fierce Eye]} && !${Me.Song[Illusions of Grandeur].ID} && ${Me.Combat}) /alt activate 3506

Second Spire of the Minstrels. This will cast Second Spire in conjunction with Enchanter or Druid burn ADPS respectively:
Rich (BB code):
holyflag3=1
holyshit3=/if (${Me.AltAbilityReady[Fundament: Second Spire of the Minstrels]} && ${Me.Song[Illusions of Grandeur].ID} && ${Me.Combat}) /alt activate 1421
holyflag4=1
holyshit4=/if (${Me.AltAbilityReady[Fundament: Second Spire of the Minstrels]} && ${Me.Buff[Spirit of the Black Wolf].ID}  && ${Me.Combat}) /alt activate 1421

------------
That's all I have for now. I'm sure I'll think of some others. I just started using the Shaman and Bard more so I'll probably try some crazy stuff :D
 
Trying to get my shits right -

having issues getting my shits to fire off Cycloan roar

Rich (BB code):
holyshit57=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Cyclone Roar]} && ${Melee.DiscID}==0) /casting "Cyclone Roar" disc


I think I started well but not sure where I messed up
 
Trying to get my shits right -

having issues getting my shits to fire off Cycloan roar

Rich (BB code):
holyshit57=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Cyclone Roar]} && ${Melee.DiscID}==0) /casting "Cyclone Roar" disc


I think I started well but not sure where I messed up

Try switching /casting "Cyclone Roar" disc to /disc cyclone roar
 
Trying to get my shits right -

having issues getting my shits to fire off Cycloan roar

Rich (BB code):
holyshit57=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Cyclone Roar]} && ${Melee.DiscID}==0) /casting "Cyclone Roar" disc


I think I started well but not sure where I messed up

Try using && !${Melee.DiscID}, instead of the ${Melee.DiscID}==0. That's how I have mine set up and they fire.
 
Ive sifted though nearly every Thing i can to locate lvl 100-105 Monk holy / downshits Can anyone post some Monk stuff :)

- - - Updated - - -

Also i have seen many others Character ini's and i look at mine there is nothing in it other then rez accept ?
 
- - - Updated - - -

If anyone has 100-105 monk Good sustained DPS + Burns post this please .

- - - Updated - - -

Here is my list for my [Berserker]
downshit1=/if (${Me.CombatAbilityReady[Conditioned Retaliation Rk. II]} && !${Me.Buff[Conditioned Retaliation Effect II].ID} && !${Me.Invis}) /disc Condition
downshit2=/if (${Me.PctEndurance}<28 && ${Me.CombatAbilityReady[Reprieve Rk. III]}) /disc Reprieve Rk. III
downshit3=/if (!${Me.Buff[Elixir of Speed X].ID} && !${Me.Buff[Talisman of Celerity].ID}) /casting "Distillate of Alacrity X"
holyshit0=/if (${Me.CombatAbilityReady[Blood Brand Rk. III]} && ${Target.PctHPs}>1 && ${Me.PctHPs}>60 && !${Target.Buff[Blood Brand Rk. III].ID}) /Disc Blood Brand Rk. III
holyshit1=/if (${Me.CombatAbilityReady[Demolishing Frenzy Rk. II]} && ${Target.PctHPs}>1) /Disc Demolishing Frenzy Rk. II
holyshit10=/if (${Spell[Cry Carnage Rk. III].Stacks[0]} && !${Me.Song[Cry Carnage Rk. III].ID} && !${Me.Moving} && !${Me.Invis} && !${Me.Sitting}) /disc Cry Carnage Rk. III
holyshit11=/if (${Me.AltAbilityReady[Banestrike]} && ${Target.PctHPs}>1) /alt act 15073
holyshit12=/if (${Me.AltAbilityReady[Blinding Fury]} && ${Target.Named} && !${Me.Invis}) /alt act 610
holyshit13=/if (${Me.PctHPs}<90 && !${Me.Buff[Amplified Frenzy Effect].ID}) /disc Amplified Frenzy
holyshit14=/if (${Me.AltAbilityReady[War Cry of the Braxi]} && ${Target.PctHPs}>1) /alt act 1013
holyshit15=/if (!${Me.Song[Bubbling Rage].ID}) /disc Bubbling Rage
holyshit16=/if (${Me.CombatState.Equal[COMBAT]} && !${Me.Song[Open Wound Effect III].ID}) /disc Open Wound Rk. III
holyshit2=/if (${Me.AbilityReady[Frenzy]} && ${Target.PctHPs}>1) /doability Frenzy
holyshit3=/if (${Me.CombatAbilityReady[Demolishing Axe Throw Rk. II]} && ${Target.PctHPs}>1) /Disc Demolishing Axe Throw Rk. II
holyshit4=/if (${Me.CombatAbilityReady[Axe of Numicia]} && ${Target.PctHPs}>1) /Disc Axe of Numicia
holyshit5=/if (${Me.CombatAbilityReady[Fighting Frenzy]} && ${Target.PctHPs}>1 && ${Me.PctHPs}<90) /Disc Fighting Frenzy
holyshit6=/if (${Me.AltAbilityReady[Self Preservation]} && ${Me.PctHPs}<30) /multiline ; /attack off ; /alt act 8400
holyshit7=/if (${Me.CombatAbilityReady[Demolishing Volley]} && ${Target.PctHPs}>1) /Disc Demolishing Volley
holyshit8=/if (${Me.AltAbilityReady[Savage Spirit]} && ${Target.Named} && !${Me.Invis}) /alt act 456
holyshit9=/if (${Me.AltAbilityReady[Fundament: Third Spire of Savagry]} && ${Target.Named} && !${Me.Invis}) /alt act 1502
stickcmd=12 front moveback loose
 
I had a few more to add that I found really handy that KA wasn't particularly handling how I would have liked or in some cases, not at all (for *my* circumstance - I love KA).

Today I've got some Mage, Shaman, and Druid ones for ya:

I run with an Enchanter and Mage in my group. One of the main sources of Mage DPS is through rains (on a single target). Now, given it is considered an AE spell, this causes some conflicts with KA if multiple mobs are around in camp or they are mezzed. Here is the solution I'm using and have found extremely effective:
Rich (BB code):
downflag4=1
downflag5=1

downshit4=/if (${Target.Type.Equal[NPC]} && ${Me.XTarget} <= 1 && ${SpawnCount[npc radius 75]} && ${Me.CombatState.Equal[COMBAT]} && ${Cast.Ready[Coronal Rain Rk. II]} && !${Me.Invis} && !${Me.Moving}) /casting "Coronal Rain Rk. II"

downshit5=/if (${Target.Type.Equal[NPC]} && ${Me.XTarget} <= 1 && ${SpawnCount[npc radius 75]} && ${Me.CombatState.Equal[COMBAT]} && ${Cast.Ready[Rain of Cutlasses Rk. II]} && !${Me.Invis} && !${Me.Moving}) /casting "Rain of Cutlasses Rk. II"

What I would really love is to have the Mage move back a short number of paces if he's within X distance of the mob because sometimes the rain will also hit him. This is a minor inconvenience though and you'll usually resist the damage anyhow.

Here are two more to keep your pet ready to tank at all times:
Rich (BB code):
downflag6=1
downflag7=1
downshit6=/if (${Me.Pet.ID} && !${Me.PetBuff[Shieldstone Stance]} && ${Cast.Ready[Shieldstone Stance]} && ${Me.Pet.PctHPs}<90 && !${Me.Moving} && !${Me.Invis}) /casting "Shieldstone Stance"
downshit7=/if (${Me.Pet.ID} && !${Me.PetBuff[Aegis of Kildrukaun]} && ${Me.AltAbilityReady[Aegis of Kildrukaun]} && ${Me.Pet.PctHPs}<90 && !${Me.Moving} && !${Me.Invis}) /alt act 441
Neat thing about this is when you initially summon the pet, if you have any type of focus on, the pet isn't at max HP and so it will go ahead and trigger these so the buffs will already be there. Now, I usually only have my Mage pet tanking named which is why the threshold is set at <90%. Given the recast times, your mage will still get in lots of DPS but always keep him guarded. I recommend altering that value to match your playstyle. Also notice there is no combat tag, you may want to include that if you edit it.

Now for the Shaman. Again, due to limitations with targeting code, you must set someone in your group (or whoever your heal target is) as the first slot in Xtarget. No other workaround I have been able to get to work. This is similar to the Frost Gift twinheal downshit I posted previously.

Here is the one for Spiritual Surge, the way overpowered Shaman wave heal. You may think it's crazy I have it set at HP less than 99% but you'll essentially have healing waves splashing everyone non-stop. Pair this with my twinheal downshit above and you have godmode.
Rich (BB code):
downflag5=1
downshit5=/if (${Me.XTarget} && ${Me.XTarget[1].PctHPs} < 99 && ${Cast.Ready[Spiritual Surge Rk. III]} && !${Me.Invis} && !${Me.Moving}) /multiline ; /target ${Me.XTarget[1]} ; /casting "Spiritual Surge Rk. III"

Next up is Druid. Again, for my purposes, other methods were not working correctly for me. Most likely operator error but anyway...

First is for general grouping, Wrath of the Wild. Puts a huge 1 counter DS on the main tank and provides a chance to proc an attack debuff. It's a short cooldown so you'll get it up every other fight or so. Just handy to have IMO:
Rich (BB code):
downflag5=1
downshit5=/if (${Me.AltAbilityReady[Wrath of the Wild]} && ${Me.CombatState.Equal[COMBAT]} && !${Me.Invis} && !${Me.Moving}) /multiline ; /target ${Group.MainTank} ; /alt act 170

Next up we have the huge arsenal of defensive stuff. For me, the initial engage of a named is usually the make or break moment so that's why I don't hesitate using these.
Rich (BB code):
downflag6=1
downflag7=1
downshit6=/if (${Target.Named} && ${Me.CombatState.Equal[COMBAT]} && ${Me.AltAbilityReady[519]} && !${Me.Invis} && !${Me.Moving}) /multiline ; /target ${Group.MainTank} ; /alt act 519

downshit7=/if (${Target.Named} && ${Me.CombatState.Equal[COMBAT]} && ${Me.AltAbilityReady[384]} && !${Me.Invis} && !${Me.Moving}) /multiline ; /target ${Group.MainTank} ; /alt act 384

This will activate Convergence of Spirits and Spirit of the Bear. These add large AC boosts, a large direct heal, a lingering HoT, dodge mods, and damage shields. They DO stack. If you want to space it out because you need more defensive time, just add in your preference. We have one more "oh shit" ability, Swarm of Fireflies. This one is kindof annoying and situational but let's go with it. It only fires if your tank goes below 30% HP. It provides a huge heal and then a short duration heal over time:

Rich (BB code):
downflag8=1
downshit8=/if (${Target.Named} && ${Me.CombatState.Equal[COMBAT]} && ${Me.AltAbilityReady[699]} && ${Group.MainTank.PctHPs} <40 && !${Me.Invis} && !${Me.Moving}) /multiline ; /target ${Group.MainTank} ; /alt act 699

Last one is for the group based on the Druid's HP. It will only activate if it is a named and if the druid hits <50% HP. I figure you're either getting hit or more likely, AE'd, so it helps the group. Spirit of the Wood: Group Direct heal, heal over time, AC, and damage shield. It does not stack with Convergence of Spirits but that can only be on one person (if it's even up still by now).
Rich (BB code):
downflag9=1
downshit9=/if (${Target.Named} && ${Me.CombatState.Equal[COMBAT]} && ${Me.PctHPs}<50 && ${Me.AltAbilityReady[185]} && !${Me.Invis} && !${Me.Moving}) /alt act 185
 
Last edited:
Is there a timer to limit how often an ability activates? delay/rate/timer

I haven't done it, but I think you can declare variables in a holyshit, so you could declare a Timer in a multiline, check if the timer exists/is running, etc.

It might be good to think about what you are trying to do with the delay, though, and determine if there are some other conditions that you could check against to keep things a little simpler. Maybe check for your merc's mana below 80%, or some other thing that happens, but happens more sporadically. If you want to detail what behavior you are trying to get working, there are tons here that can get you set up with a solid holyshit or two.
 
I haven't done it, but I think you can declare variables in a holyshit, so you could declare a Timer in a multiline, check if the timer exists/is running, etc.

It might be good to think about what you are trying to do with the delay, though, and determine if there are some other conditions that you could check against to keep things a little simpler. Maybe check for your merc's mana below 80%, or some other thing that happens, but happens more sporadically. If you want to detail what behavior you are trying to get working, there are tons here that can get you set up with a solid holyshit or two.

Hi and thanks! From reading this thread, there doesn't seem to be a way to track if a groupmate has xyz buff. I'm trying to have my mage and druid maintain short duration buffs, in combat, on my tank. If there isn't a way to check if your target has xyz buff, I'd like to just limit how often the buff is cast.
Specifically I'm working with: Pyrelin Skin, Burning Aura, & Barkspur
-- KA will recast every fight if in the DPS section; while in the buff section it will only cast OOC.
 
I think you already found the best solution, in deciding whether it is a buff (and maintained out of combat) or a dps spell (and maintained in combat). Any solution with the timer is going to be shaky at best, and at least by using KA to handle it you will get fairly consistent results. If you check out MQ2Bot, I believe that there is a class of spells called CombatBuffs that would cover those. I haven't used it extensively, but I beleieve it is fairly customizable, similar to KissAssist.
 
I have a question that I am sure has been answered somewhere in this post, I just dont feel like sifting through 12 pages trying to find it. I am also prepared to get flamed for not looking at more then 3 pages to find it.

Is there a limit to how many holy/down shits you can use?
 
thank you very much!

- - - Updated - - -

Alright I have been finally playing around with these and am loving it so far. I have run into a problem though trying to get AA to work. For example if I wanted to use the Voice of Thule AA as a downshit I cannot get it to cast. here is the line I have for it.

downflag13=1
downshit13=/if (!${Me.Buff[Voice of Thule].ID} && ${Me.AltAbilityReady[Voice of Thule]}) /casting "Voice of Thule" alt

I have also tried

downflag13=1
downshit13=/if (!${Me.Buff[Voice of Thule].ID} && ${Me.AltAbilityReady[Voice of Thule]}) /casting "Voice of Thule" <-----(without the alt)

and neither of these work.
Can anyone tell me what I am doing wrong? Is it a spelling issue with what the AA is really named? If so how can I find the exact name of an AA so it works properly. OR is there a way to use the AA ID number to cast it instead? i.e. Voice of Thule is ID#7000.

Thanks in advance!

- - - Updated - - -

~~~~~~ facepalm

Voice of Thule is a targeted cast. So it DOES work like I have it, my problem would now be, is it possible to have it target myself to cast it before it tries to cast? Or am I better off letting Kissassist handling this buff?
 
thank you very much!

- - - Updated - - -

Alright I have been finally playing around with these and am loving it so far. I have run into a problem though trying to get AA to work. For example if I wanted to use the Voice of Thule AA as a downshit I cannot get it to cast. here is the line I have for it.

downflag13=1
downshit13=/if (!${Me.Buff[Voice of Thule].ID} && ${Me.AltAbilityReady[Voice of Thule]}) /casting "Voice of Thule" alt

I have also tried

downflag13=1
downshit13=/if (!${Me.Buff[Voice of Thule].ID} && ${Me.AltAbilityReady[Voice of Thule]}) /casting "Voice of Thule" <-----(without the alt)

and neither of these work.
Can anyone tell me what I am doing wrong? Is it a spelling issue with what the AA is really named? If so how can I find the exact name of an AA so it works properly. OR is there a way to use the AA ID number to cast it instead? i.e. Voice of Thule is ID#7000.

Thanks in advance!

- - - Updated - - -

~~~~~~ facepalm

Voice of Thule is a targeted cast. So it DOES work like I have it, my problem would now be, is it possible to have it target myself to cast it before it tries to cast? Or am I better off letting Kissassist handling this buff?


/alt activate # works just fine.

http://www.macroquest2.com/wiki/index.php/MQ2Melee#Combat_Ability

Check out that link for reference. You can search for /alt activate and it will jump you to a good example.
 
Hey guys,

Kinda like eqgeek before, I am trying to make a holyshit work to buff haste on my tank with my enchanter when it runs out.

When researching this thread, I came across the beneath holyshit:

holyshit0=/if (${Group.MainTank.Name.Equal[${Target.CleanName}]} && !${Target.Buff[Horrifying Visage].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Horrifying Visage]} && ${Spell[Horrifying Visage].Stacks}) /multiline ; /target ${TankName.CleanName} ; /casting "Horrifying Visage" gem4

Simply replace the buff's name with my chanters buff and it would be good, I thought:

Rich (BB code):
holyshit0=/if (${Group.MainTank.Name.Equal[${Target.CleanName}]} && !${Target.Buff[Augmentation].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Augmentation]} && ${Spell[Augmentation].Stacks}) /multiline ; /target ${Group.MainTank.Name} ; /casting "Augmentation" gem7

But when I used /echo without having my tank targetted the following turned out:

Rich (BB code):
/if (FALSE && !NULL && 100>3 && TRUE && TRUE) /multiline ; /target MYTANK ; /casting "Augmentation" gem7

When I target the tank and do /echo it looks like this:

Rich (BB code):
/if (TRUE && !10 && 100>3 && TRUE && TRUE) /multiline ; /target MYTANK ; /casting "Augmentation" gem7

It also casts augmentation on the tank when I target him, but how do I get it to work without having my tank targetted?

Any help is appreciated.
 

Try this:
Rich (BB code):
downflag13=1
downshit13=/if (!${MainTank.Buff[Augmentation].ID} && ${Cast.Ready[Augmentation]} && ${Spell[Augmentation].Stacks}) /multiline ; /target ${Group.MainTank.Name} ; /casting "Augmentation" gem7

Edit again: found an error with this so I'm going to work on it some more so the above is not going to work properly right now, sorry. Thought I had it 100%. Will update again soon.
 
Hey guys,

Kinda like eqgeek before, I am trying to make a holyshit work to buff haste on my tank with my enchanter when it runs out.

When researching this thread, I came across the beneath holyshit:



Simply replace the buff's name with my chanters buff and it would be good, I thought:

Rich (BB code):
holyshit0=/if (${Group.MainTank.Name.Equal[${Target.CleanName}]} && !${Target.Buff[Augmentation].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Augmentation]} && ${Spell[Augmentation].Stacks}) /multiline ; /target ${Group.MainTank.Name} ; /casting "Augmentation" gem7

But when I used /echo without having my tank targetted the following turned out:

Rich (BB code):
/if (FALSE && !NULL && 100>3 && TRUE && TRUE) /multiline ; /target MYTANK ; /casting "Augmentation" gem7

When I target the tank and do /echo it looks like this:

Rich (BB code):
/if (TRUE && !10 && 100>3 && TRUE && TRUE) /multiline ; /target MYTANK ; /casting "Augmentation" gem7

It also casts augmentation on the tank when I target him, but how do I get it to work without having my tank targetted?

Any help is appreciated.


I am not sure if this will work, but try this:

Rich (BB code):
holyshit0=/if (!${Group.MainTank.Buff[Augmentation].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Augmentation]}) /multiline ; /target ${Group.MainTank.Name} ; /delay 50 ; /casting "Augmentation" gem7

The correct syntax for checking if the spell stacks or not is: ${Spell[Aumentation].Stacks[0]}, but this checks if the spell stacks with your current buffs not the MainTanks.
 
Plugin - MQ2Melee

Users who are viewing this thread

Back
Top