• Hail, we're RedGuides. We want you to play six (yes, 6!) EverQuest characters at once. We have scripts and a friendly community to help, please join our playstyle and say hello! 👋

Tip - MQ2 React Collection

  • Thread starter Thread starter drwhomphd
  • Anyone can edit the first post of this thread WikiPost WikiPost
  • Start date Start date
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropriate permissions. Your edits will be public.
action: "/disc Zlexak's Fang"
condition: ${Me.CombatState.Equal[COMBAT]} && ${Me.CombatAbilityReady[Zlexak's Fang]}

I believe... Im forgetful about discs. but I could be wrong.
 
Well I seem to have got mine working. At least my Necro hasn't lich'd himself to death since!

Prior to that it was an ongoing saga, 'cause the cleric never had any mana as hard as I punish 'em going mob to mob.
 
Last edited:
This is what I use for SK 2h / 1h bandolier

INI:
YourServerNameHere:
  YourCharNameHere:
    ExampleReact: disabled
    BandOff: enabled
    BandDef: enabled
globals:
  GlobalExample: "${Me.CombatState.NotEqual[COMBAT]} && ${Me.PctHPs} <= 25"
reacts:
  ExampleReact:
    action: >-
      /multiline ; /echo Default Example react Disables itself when you're
      at 100%HP and out of Combat ; /delay 5 ; /react disable ExampleReact
    condition: "${Me.PctHPs} == 100 && ${Me.CombatState.NotEqual[COMBAT]}"
  BandOff:
    action: "/bandolier activate Offense"
    condition: "${Me.CombatState.Equal[COMBAT]} && ${Me.XTarget}< 3 && !${Target.Named} && ${Me.Buff[Defensive Proficiency].ID} && !${Select[${Target.ConColor},YELLOW,RED]}>=1"
  BandDef:
    action: "/bandolier activate Defense"
    condition: "${Me.CombatState.Equal[COMBAT]} && !${Me.Buff[Defensive Proficiency].ID} && (${Target.Named} || ${Me.XTarget}>2 || ${Select[${Target.ConColor},YELLOW,RED]}>=1)"
sleep_frames: 15
 
I use this for my warrior to swap between 2h/S&B, requires a bandolier set named 'sb' and '2h'. If he drops below 60% health, he puts a shield on until he gets to at least 80% health again. Not as fancy as the others posted, but it works fine for me.
YAML:
  SwordAndBoard:
    action: "/invoke ${Me.Bandolier[sb].Activate}"
    condition: "${Me.CombatState.Equal[COMBAT]} && ${Me.PctHPs} < 60 && !${Me.Bandolier[sb].Active}"
  TwoHander:
    action: "/invoke ${Me.Bandolier[2h].Activate}"
    condition: "${Me.PctHPs} >= 80 && ${Me.Bandolier[sb].Active}"
 
I like these tank ones, one thought I had was to add if I’m the targets target, anyone know the condition for that? Haven’t been able to find it. Thinking it’s helpful for when I’m not the current tank, I use offensive weps, but switch to board if I become the targets target.
 
I like these tank ones, one thought I had was to add if I’m the targets target, anyone know the condition for that? Haven’t been able to find it. Thinking it’s helpful for when I’m not the current tank, I use offensive weps, but switch to board if I become the targets target.

This should do what you need:
INI:
  BandDef2:
    action: /bandolier activate Defense
    condition: >-
      ${Me.TargetOfTarget.Name.Equal[${Me.CleanName}]}
  BandOff2:
    action: /bandolier activate Offense
    condition: >-
      ${Me.TargetOfTarget.Name.NotEqual[${Me.CleanName}]}
[/ICODE]
 
I use this for my warrior to swap between 2h/S&B, requires a bandolier set named 'sb' and '2h'. If he drops below 60% health, he puts a shield on until he gets to at least 80% health again. Not as fancy as the others posted, but it works fine for me.
YAML:
  SwordAndBoard:
    action: "/invoke ${Me.Bandolier[sb].Activate}"
    condition: "${Me.CombatState.Equal[COMBAT]} && ${Me.PctHPs} < 60 && !${Me.Bandolier[sb].Active}"
  TwoHander:
    action: "/invoke ${Me.Bandolier[2h].Activate}"
    condition: "${Me.PctHPs} >= 80 && ${Me.Bandolier[sb].Active}"

Good idea on the HP check, I added that to mine as well
 
I use this to save my puller from certain death when I have my mage in group:

INI:
  COHPuller:
    action: >-
      /multiline ; /mqpause on ;
      /docommand /${Me.Class.ShortName} pause on
      /delay 70 !${Me.Casting.ID} ;
      /target id ${Group.Puller.ID} ;
      /delay 70 ${Target.ID}==${Group.Puller.ID} ;
      /alt act 7050 ;
      /delay 70 ${Me.Casting.ID} ;
      /delay 70 !${Me.Casting.ID} ;
      /mqpause off ;
      /docommand /${Me.Class.ShortName} pause off ;
    condition: >-
      ${Group.Puller.Distance3D} > 175
      && ${Group.Puller.PctHPs} < 85
      && ${Me.AltAbilityReady[Call of the Hero]}
 
Added a few thing here and there. Hope someone can use.

INI
INI:
globals:
  Avatar: "${Me.Inventory[MainHand].Name.Find[Ancient]}"
  BH: Complete Heal
  BHP: 70
  Cling: 40
  NH: Healing Light
  NHP: 80
  NotCasting: "!${Me.Casting.ID}"
  QH: Superior Healing
  QHP: 80
  Tank: "${Group.Member[0].MainTank}"
reacts:
  Avatar:
    action: /bandolier activate Avatar
    condition: >-
      !${Me.Buff[avatar].ID} && ${Spell[avatar].Stacks} && !${React.Global[Avatar]}
      && ${Me.CombatState.Equal[COMBAT]}
  BHeal:
    action: >-
      /multiline ; /g Canceling ${React.Global[BH]} on ${Target.Name},
      Not Enough Missing HPs ; /stopcast
    condition: >-
      ${Cast.Effect.Name.Equal[${React.Global[BH]}]} && ${Target.PctHPs}
      > ${React.Global[BHP]}
  Bardswap:
    action: /multiline ; /bardswap ; /bardswap melee
    condition: "!${BardSwap.Swapping}"
  Berate:
    action: /doability Berate
    condition: >-
      ${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && ${React.Global[NotCasting]}
      && ${React.Global[Tank]} && ${Me.TargetOfTarget.ID}==${Me.ID} &&
      ${Target.Type.Equal[NPC]} && ${Target.PctHPs} > 30
  DPS:
    action: /bandolier activate DPS
    condition: "${Me.Buff[avatar].ID} && ${React.Global[Avatar]} && ${Me.CombatState.Equal[COMBAT]}"
  DoHaste:
    action: /useitem Dark Cloak of the Sky
    condition: >-
      ${Spell[Haste].Stacks} && !${Me.Song[Haste].ID} && ${React.Global[NotCasting]}
      && ${Me.CombatState.Equal[COMBAT]}
  Junk:
    action: "/useitem Journeyman's Boots"
    condition: >-
      !${Me.Buff[Journeyman Boots].ID} && ${Spell[Journeyman Boots].Stacks}
      && !${Me.Invis} && (!${Me.Buff[1].ID} || !${Me.Buff[2].ID})
  Junk2:
    action: /useitem Ring of Dain Frostreaver IV
    condition: >-
      !${Me.Buff[Frostreaver's Blessing].ID} && ${Spell[Frostreaver's Blessing].Stacks}
      && !${Me.Invis} && (!${Me.Buff[1].ID} || !${Me.Buff[2].ID})
  LandReactB:
    action: >-
      /multiline ; /echo Putting normal item back on ;  /exchange "Crown
      of the Kromzek Kings" head ; /react enable WaterReactB ; /react disable
      LandReactB
    condition: "!${Me.FeetWet}"
  LandReactL:
    action: >-
      /multiline ; /echo Putting normal item back on ;  /exchange "Resonant
      Helm" head ; /react enable WaterReactL ; /react disable LandReactL
    condition: "!${Me.FeetWet}"
  LandReactS:
    action: >-
      /multiline ; /echo Putting normal item back on ;  /exchange "Shield
      of the Immaculate" back ; /react enable WaterReactS ; /react disable
      LandReactS
    condition: "!${Me.FeetWet}"
  NHeal:
    action: >-
      /multiline ; /g Canceling ${React.Global[NH]} on ${Target.Name},
      Not Enough Missing HPs ; /stopcast
    condition: >-
      ${Cast.Effect.Name.Equal[${React.Global[NH]}]} && ${Target.PctHPs}
      > ${React.Global[NHP]}
  QHeal:
    action: >-
      /multiline ; /g Canceling ${React.Global[QH]} on ${Target.Name},
      Not Enough Missing HPs ; /stopcast
    condition: >-
      ${Cast.Effect.Name.Equal[${React.Global[QH]}]} && ${Target.PctHPs}
      > ${React.Global[QHP]}
  RNGSnare:
    action: /cast Ensnare
    condition: >-
      ${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && !${Me.Moving}
      && ${React.Global[NotCasting]} && ${React.Global[Tank]} && (${Target.PctHPs}
      > 75) && ${Target.Type.Equal[NPC]} && ${Me.SpellReady[Ensnare]}
  RNGSnare2:
    action: /cast Ensnare
    condition: >-
      ${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && !${Me.Moving}
      && ${React.Global[NotCasting]} && ${React.Global[Tank]} && (${Target.PctHPs}
      < 75) && (${Target.BuffDuration[Ensnare].TotalSeconds} < 760) &&
      ${Target.Type.Equal[NPC]} && ${Me.SpellReady[Ensnare]}
  RNGSnare3:
    action: /cast Ensnare
    condition: >-
      ${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && !${Me.Moving}
      && ${React.Global[NotCasting]} && ${React.Global[Tank]} && ${Target.Type.Equal[NPC]}
      && !${Me.AbilityReady[Taunt]} && ${Me.TargetOfTarget.ID}!=${Me.ID}
      && ${Me.SpellReady[Ensnare]}
  Rot:
    action: "/useitem Kithar's Disease Treatment"
    condition: "${Me.Buff[Rotting Flesh].ID} && ${React.Global[NotCasting]}"
  SHDSnare:
    action: /cast Clinging Darkness
    condition: >-
      ${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && !${Me.Moving}
      && ${React.Global[NotCasting]} && ${React.Global[Tank]} && (${Target.PctHPs}
      > 75) && ${Target.Type.Equal[NPC]} && ${Me.SpellReady[Clinging Darkness]}
  SHDSnare2:
    action: /cast Clinging Darkness
    condition: >-
      ${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && !${Me.Moving}
      && ${React.Global[NotCasting]} && ${React.Global[Tank]} && (${Target.PctHPs}
      < 75) && (${Target.BuffDuration[Clinging Darkness].TotalSeconds}
      < 35) && ${Target.Type.Equal[NPC]} && ${Me.SpellReady[Clinging Darkness]}
  SHDSnare3:
    action: /cast Clinging Darkness
    condition: >-
      ${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && !${Me.Moving}
      && ${React.Global[NotCasting]} && ${React.Global[Tank]} && ${Target.Type.Equal[NPC]}
      && !${Me.AbilityReady[Taunt]} && ${Me.TargetOfTarget.ID}!=${Me.ID}
      && ${Me.SpellReady[Clinging Darkness]}
  Sit:
    action: "/multiline ; /g I am sitting now! ; /sit"
    condition: >-
      ${Me.PctMana} <= 90 && ${Me.CombatState.Equal[COMBAT]} && ${Me.Standing}
      && !${Me.Moving} && ${React.Global[NotCasting]}
  SotI:
    action: /useitem Shield of the Immaculate
    condition: >-
      ${Me.Buff[Rotting Flesh].ID} || ${Me.Buff[Diseased Cloud].ID} ||
      ${Me.Buff[Languid Pace].ID} || ${Me.Buff[Tepid Deeds].ID} || ${Me.Buff[Shiftless
      Deeds].ID} || ${Me.Buff[Forlorn Deeds].ID} || ${Me.Buff[Rabies].ID}
      || ${Me.Buff[Strong Disease].ID} || ${Me.Buff[Sicken].ID} || ${Me.Buff[Infectious
      Cloud].ID} || ${Me.Buff[Insidious Fever].ID} || ${Me.Buff[Affliction].ID}
      || ${Me.Buff[Scourge].ID} || ${Me.Buff[Insidious Malady].ID} || ${Me.Buff[Plague].ID}
      || ${Me.Buff[Drowsy].ID} || ${Me.Buff[Walking Sleep].ID} || ${Me.Buff[Tagar's
      Insects].ID} || ${Me.Buff[Togor's Insects].ID} || ${Me.Buff[Turgur's
      Insects].ID} || ${Me.Buff[Insidious Decay].ID} || ${Me.Buff[Tigir's
      Insects].ID} || ${Me.Buff[Pox of Bertoxxulous].ID} || ${Me.Buff[Plague
      of Insects].ID} || ${Me.Buff[Disease Cloud].ID} || ${Me.Buff[Asystole].ID}
      || ${Me.Buff[Cessation of Cor].ID} || ${Me.Buff[Grip of Mori].ID}
      || ${Me.Buff[Putrefy Flesh].ID} || ${Me.Buff[Ancient Breath].ID}
      || ${Me.Buff[Mind Flay].ID} || ${Me.Buff[Breath of Rhag'Mozdezh].ID}
  Taunt:
    action: /doability Taunt
    condition: >-
      ${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && ${React.Global[NotCasting]}
      && ${React.Global[Tank]} && ${Me.TargetOfTarget.ID}!=${Me.ID} &&
      ${Target.Type.Equal[NPC]}
  WaterReactB:
    action: >-
      /multiline ; /echo Putting on EB item ; /exchange "Rebreather" head
      ; /react enable LandReactB ; /react disable WaterReactB
    condition: "${Me.FeetWet}"
  WaterReactL:
    action: >-
      /multiline ; /echo Putting on EB item ; /exchange "Rebreather" head
      ; /react enable LandReactL ; /react disable WaterReactL
    condition: "${Me.FeetWet}"
  WaterReactS:
    action: >-
      /multiline ; /echo Putting on EB item ; /exchange "Lodizal Shell
      Shield" back ; /react enable LandReactS ; /react disable WaterReactS
    condition: "${Me.FeetWet}"
 
Expanding on the issue of delays in multilines -- you can think of multiline's implementation as if you are hitting all of the "lines" in rapid succession. If it helps, think if it as each multiline being executed at the same time. So while the delay can be executed, it is it's own "line" and is not "waiting" for something else to execute.

Given that the lines are executed at the "same" time, /timed can be used to mimic a delay, but /timed is a bit confusing because it needs to be issued from a "cumulative time" standpoint. Meaning that if you want one command to happen 2s after another command, if that first command is also using /timed then you need to add that to your 2s. So for example, a 2s timed occurring after a 1s timed actually needs to be a 3s timed (accounting for the first second -- again, think of it like all commands executing at the same time).

This understanding of the relationship between /multiline and /timed was exactly what I was missing. Once I made all the /timed cumulative, everything worked as expected. Thanks @Knightly !!
 
Added a few thing here and there. Hope someone can use.
Code:
      ${Me.Buff[Rotting Flesh].ID} || ${Me.Buff[Diseased Cloud].ID} ||
      ${Me.Buff[Languid Pace].ID} || ${Me.Buff[Tepid Deeds].ID} || ${Me.Buff[Shiftless
      Deeds].ID} || ${Me.Buff[Forlorn Deeds].ID} || ${Me.Buff[Rabies].ID}
      || ${Me.Buff[Strong Disease].ID} || ${Me.Buff[Sicken].ID} || ${Me.Buff[Infectious
      Cloud].ID} || ${Me.Buff[Insidious Fever].ID} || ${Me.Buff[Affliction].ID}
      || ${Me.Buff[Scourge].ID} || ${Me.Buff[Insidious Malady].ID} || ${Me.Buff[Plague].ID}
      || ${Me.Buff[Drowsy].ID} || ${Me.Buff[Walking Sleep].ID} || ${Me.Buff[Tagar's
      Insects].ID} || ${Me.Buff[Togor's Insects].ID} || ${Me.Buff[Turgur's
      Insects].ID} || ${Me.Buff[Insidious Decay].ID} || ${Me.Buff[Tigir's
      Insects].ID} || ${Me.Buff[Pox of Bertoxxulous].ID} || ${Me.Buff[Plague
      of Insects].ID} || ${Me.Buff[Disease Cloud].ID} || ${Me.Buff[Asystole].ID}
      || ${Me.Buff[Cessation of Cor].ID} || ${Me.Buff[Grip of Mori].ID}
      || ${Me.Buff[Putrefy Flesh].ID} || ${Me.Buff[Ancient Breath].ID}
      || ${Me.Buff[Mind Flay].ID} || ${Me.Buff[Breath of Rhag'Mozdezh].ID

Could you replace that long line with Me.Diseased ? (what is it not picking up)
Code:
${Me.Diseased.ID}
 
Using Autoforage?

INI:
  Destroy_Small_Chunk_of_Velium:
    action: >-
      /multiline ; /itemnotify "Small Chunk of Velium" leftmouseup; /delay
      10; /destroy
    condition: "${FindItemCount[Small Chunk of Velium]}"

I have similar for Dragon_ law Sliver's and Rotting Dragon Scale
 
Using Autoforage?

INI:
  Destroy_Small_Chunk_of_Velium:
    action: >-
      /multiline ; /itemnotify "Small Chunk of Velium" leftmouseup; /delay
      10; /destroy
    condition: "${FindItemCount[Small Chunk of Velium]}"

I have similar for Dragon_ law Sliver's and Rotting Dragon Scale
I just use MQ2Cursor for destroying or keeping things, it lets you keep certain amounts as well.
 
I made this for my SK AE aggro abilities:

YAML:
  Hatred:
    action: /alt activate 822
    condition: >-
      ${Plugin[MQ2Melee].Name.Length} && ${Me.AltAbilityReady[Explosion
      of Hatred]} && ${SpawnCount[npc radius 50]}>1 &&  ${Me.XTarget}>1
      && (${Me.XTarget[1].Type.Equal[NPC]} && ${Me.XTarget[1].PctAggro}<100
      || ${Me.XTarget[2].Type.Equal[NPC]} && ${Me.XTarget[2].PctAggro}<100
      || ${Me.XTarget[3].Type.Equal[NPC]} && ${Me.XTarget[3].PctAggro}<100
      || ${Me.XTarget[4].Type.Equal[NPC]} && ${Me.XTarget[4].PctAggro}<100
      || ${Me.XTarget[5].Type.Equal[NPC]} && ${Me.XTarget[5].PctAggro}<100
      || ${Me.XTarget[6].Type.Equal[NPC]} && ${Me.XTarget[6].PctAggro}<100
      || ${Me.XTarget[7].Type.Equal[NPC]} && ${Me.XTarget[7].PctAggro}<100||
      ${Me.XTarget[8].Type.Equal[NPC]} && ${Me.XTarget[8].PctAggro}<100
      || ${Me.XTarget[9].Type.Equal[NPC]} && ${Me.XTarget[9].PctAggro}<100
      || ${Me.XTarget[10].Type.Equal[NPC]} && ${Me.XTarget[10].PctAggro}<100
      || ${Me.XTarget[11].Type.Equal[NPC]} && ${Me.XTarget[11].PctAggro}<100
      || ${Me.XTarget[12].Type.Equal[NPC]} && ${Me.XTarget[12].PctAggro}<100
      || ${Me.XTarget[13].Type.Equal[NPC]} && ${Me.XTarget[13].PctAggro}<100)
  Spite:
    action: /alt activate 749
    condition: >-
      ${Me.AltAbilityTimer[Explosion of Hatred]}<43000 && !${Me.AltAbilityReady[Explosion
      of Hatred]} && ${Plugin[MQ2Melee].Name.Length} && ${Me.AltAbilityReady[Explosion
      of Spite]} && ${SpawnCount[npc radius 50]}>1 &&  ${Me.XTarget}>1
      && (${Me.XTarget[1].Type.Equal[NPC]} && ${Me.XTarget[1].PctAggro}<100
      || ${Me.XTarget[2].Type.Equal[NPC]} && ${Me.XTarget[2].PctAggro}<100
      || ${Me.XTarget[3].Type.Equal[NPC]} && ${Me.XTarget[3].PctAggro}<100
      || ${Me.XTarget[4].Type.Equal[NPC]} && ${Me.XTarget[4].PctAggro}<100
      || ${Me.XTarget[5].Type.Equal[NPC]} && ${Me.XTarget[5].PctAggro}<100
      || ${Me.XTarget[6].Type.Equal[NPC]} && ${Me.XTarget[6].PctAggro}<100
      || ${Me.XTarget[7].Type.Equal[NPC]} && ${Me.XTarget[7].PctAggro}<100||
      ${Me.XTarget[8].Type.Equal[NPC]} && ${Me.XTarget[8].PctAggro}<100
      || ${Me.XTarget[9].Type.Equal[NPC]} && ${Me.XTarget[9].PctAggro}<100
      || ${Me.XTarget[10].Type.Equal[NPC]} && ${Me.XTarget[10].PctAggro}<100
      || ${Me.XTarget[11].Type.Equal[NPC]} && ${Me.XTarget[11].PctAggro}<100
      || ${Me.XTarget[12].Type.Equal[NPC]} && ${Me.XTarget[12].PctAggro}<100
      || ${Me.XTarget[13].Type.Equal[NPC]} && ${Me.XTarget[13].PctAggro}<100)
  Stream:
    action: /alt activate 731
    condition: >-
      ${Me.AltAbilityTimer[Explosion of Spite]}<42000 && ${Plugin[MQ2Melee].Name.Length}
      && ${Me.AltAbilityReady[Stream of Hatred]} && !${Me.AltAbilityReady[Explosion
      of Spite]} && !${Me.AltAbilityReady[Explosion of Hatred]} && ${SpawnCount[npc
      radius 50]}>1 &&  ${Me.XTarget}>1 && (${Me.XTarget[1].Type.Equal[NPC]}
      && ${Me.XTarget[1].PctAggro}<100 || ${Me.XTarget[2].Type.Equal[NPC]}
      && ${Me.XTarget[2].PctAggro}<100 || ${Me.XTarget[3].Type.Equal[NPC]}
      && ${Me.XTarget[3].PctAggro}<100 || ${Me.XTarget[4].Type.Equal[NPC]}
      && ${Me.XTarget[4].PctAggro}<100 || ${Me.XTarget[5].Type.Equal[NPC]}
      && ${Me.XTarget[5].PctAggro}<100 || ${Me.XTarget[6].Type.Equal[NPC]}
      && ${Me.XTarget[6].PctAggro}<100 || ${Me.XTarget[7].Type.Equal[NPC]}
      && ${Me.XTarget[7].PctAggro}<100|| ${Me.XTarget[8].Type.Equal[NPC]}
      && ${Me.XTarget[8].PctAggro}<100 || ${Me.XTarget[9].Type.Equal[NPC]}
      && ${Me.XTarget[9].PctAggro}<100 || ${Me.XTarget[10].Type.Equal[NPC]}
      && ${Me.XTarget[10].PctAggro}<100 || ${Me.XTarget[11].Type.Equal[NPC]}
      && ${Me.XTarget[11].PctAggro}<100 || ${Me.XTarget[12].Type.Equal[NPC]}
      && ${Me.XTarget[12].PctAggro}<100 || ${Me.XTarget[13].Type.Equal[NPC]}
      && ${Me.XTarget[13].PctAggro}<100)
 
Here is one I use on my beastlord to see if he has gotten his pet weapons, and one for shrinking him with pet earring

EDIT: Added check for Pet first

INI:
werewolf:
    action: "/useitem Metamorph Totem: White Werewolf"
    condition: (${Me.Pet.Race.ID}!=454)  && (${Me.Pet.ID}) && !${Me.Moving} && !${Me.Sitting} && !${Me.Invis}

PetShrink:
    action: "/useitem Summoner's velium threaded earring"
    condition: "${Pet.Height} > 2.00"
 
Last edited:
This is good for any toon that doesn't have a need for mod rods, Got tired of deleting then with all my melee only toons when there is a mag in group

INI:
nomodrod:
    action: /destroy
    condition: >-
      ${Cursor.Name.Equal[Summoned: Small Modulation Shard]} || ${Cursor.Name.Equal[Summoned: Medium Modulation Shard]} ||
      ${Cursor.Name.Equal[Summoned: Large Modulation Shard]} || ${Cursor.Name.Equal[Summoned: Giant Modulation Shard]} ||
      ${Cursor.Name.Equal[Summoned: Glowing Modulation Shard]} || ${Cursor.Name.Equal[Summoned: Radiant Modulation Shard]} ||
      ${Cursor.Name.Equal[Wand of Pelagic Transvergence]}
 
This is good for any toon that doesn't have a need for mod rods, Got tired of deleting then with all my melee only toons when there is a mag in group

INI:
nomodrod:
    action: /destroy
    condition: >-
      ${Cursor.Name.Equal[Summoned: Small Modulation Shard]} || ${Cursor.Name.Equal[Summoned: Medium Modulation Shard]} ||
      ${Cursor.Name.Equal[Summoned: Large Modulation Shard]} || ${Cursor.Name.Equal[Summoned: Giant Modulation Shard]} ||
      ${Cursor.Name.Equal[Summoned: Glowing Modulation Shard]} || ${Cursor.Name.Equal[Summoned: Radiant Modulation Shard]} ||
      ${Cursor.Name.Equal[Wand of Pelagic Transvergence]}
you can also just block them in your blocked buffs
 
With MQ2cast not being preferred any longer, anyone know how to memorize a spell and cast it reliably? I have been using this on my casters to keep up spell shield (clutch on raids btw!!):

edit: i see /memspell 12 "shield of destiny" would probably work, but not sure how to put a wait condition in and then cast

INI:
  SpellShield:
    action: "/casting shield of destiny"
    condition: >-
      !${Me.Buff[Shield of Destiny].ID} && ${Spell[Shield of Destiny].Stacks} && ${Me.PctMana}>30 && ${Me.Standing}
 
Last edited:
I have found this to be very useful. This is a in game toggle macro for reacts using dannet.

Small update don't use general broadcast commands for this macro. If the react is not assigned to the character it throws an error that pauses any macro running. Found out in the middle of AoW and it paused my clerics in the chrot.


INI:
/dgze /docommand $\{If[$\{React.Enabled[Avatar]},/react disable Avatar,/react enable Avatar]}
 
Last edited:
I play on TLP but I am sure there is applicable situations on live. Was wondering if there is a way to equip a weapon until it procs and then swap to a higher dps set when you have the item buff. i.e. monk with an avatar weapon equips until proc is on and swaps back to fists after; Bard Epic 1.0 procs, switches to higher DPS set.... I am new to MQ2 so forgive my ignorance if it is obvious to some of you.
 
I play on TLP but I am sure there is applicable situations on live. Was wondering if there is a way to equip a weapon until it procs and then swap to a higher dps set when you have the item buff. i.e. monk with an avatar weapon equips until proc is on and swaps back to fists after; Bard Epic 1.0 procs, switches to higher DPS set.... I am new to MQ2 so forgive my ignorance if it is obvious to some of you.

Here's what I use. Requires bandoliers of "Fight" (non-Avatar) and "Avatar" (for proc'ing it).

YAML:
reacts:
  AvatarOff:
    action: >-
      /multiline ; /bandolier activate Avatar ; /echo Equipping Avatar
      weapons! ; /react disable AvatarOff ; /react enable AvatarOn
    condition: >-
      (!${Me.Buff[Avatar].ID} && !${Me.Buff[Primal Avatar].ID}) || (${Me.Buff[Avatar].ID}
      && (${Me.Buff[Avatar].Duration.TotalSeconds} < 60))  || (${Me.Buff[Primal
      Avatar].ID} && (${Me.Buff[Primal Avatar].Duration.TotalSeconds} <
      60))
  AvatarOn:
    action: >-
      /multiline ; /bandolier activate Fight ; /echo We have Avatar! FIGHT!
      ; /react disable AvatarOn ; /react enable AvatarOff   
    condition: >-
      (${Me.Buff[Avatar].ID} || ${Me.Buff[Primal Avatar].ID}) && ((${Me.Buff[Avatar].Duration.TotalSeconds}
      > 60) || (${Me.Buff[Primal Avatar].Duration.TotalSeconds} > 60))
 
Try this one. (This will also check to see if the named is above 40% so you don’t blow it if it refreshes mid-fight. Remove that if you don’t want it, or alter to any % that you want.

Glyph of Dragon Scales: action: /alt act 5104 condition: >- ${Me.AAPoints} > 200 && ${Target.Named} && ${Target.PctHPs}>40 && ${Me.AltAbilityReady[Glyph of Dragon Scales (115+)]}

I created one of these to just fire anytime my tank < 40% HP and it's saved the tank more times than I can relate. Really great React !!!
 
No idea how this yaml stuff works :sweat:

Would anyone be kind enough to write me a line or two, to force a Healer to issue a /makemevisible command, if there is 1 or more mobs in xtar and puller is in or close to camp, please?
 
No idea how this yaml stuff works :sweat:

Would anyone be kind enough to write me a line or two, to force a Healer to issue a /makemevisible command, if there is 1 or more mobs in xtar and puller is in or close to camp, please?
They only difference between yaml and a plain old regular ini file is that white spaces and indents matter in your formatting. Other than that, just copy-pasta some of the examples and change the action/condition values.
 
How would I add a condition to use this if there is no shaman in the group.

UseBRDEpic:
action: /useitem Blade of Vesagran
condition: >-
!${Me.Casting.ID} && ${Me.CombatState.Equal[COMBAT]} && !${Me.Invis}
&& ${FindItemCount[=Blade of Vesagran]} && ${Me.ItemReady[Blade of
Vesagran]} && !${Me.Song[Spirit of Vesagran].ID}

and this with a shaman in the group

UseBRDEpicwithShaman:
action: /useitem Blade of Vesagran
condition: >-
!${Me.Casting.ID} && ${Me.CombatState.Equal[COMBAT]} && !${Me.Invis}
&& ${FindItemCount[=Blade of Vesagran]} && ${Me.ItemReady[Blade of
Vesagran]} && !${Me.Song[Spirit of Vesagran].ID} && ${Me.Song[Prophet's Gift of the Ruchu].ID}
 
How would I add a condition to use this if there is no shaman in the group.

UseBRDEpic:
action: /useitem Blade of Vesagran
condition: >-
!${Me.Casting.ID} && ${Me.CombatState.Equal[COMBAT]} && !${Me.Invis}
&& ${FindItemCount[=Blade of Vesagran]} && ${Me.ItemReady[Blade of
Vesagran]} && !${Me.Song[Spirit of Vesagran].ID}

and this with a shaman in the group

UseBRDEpicwithShaman:
action: /useitem Blade of Vesagran
condition: >-
!${Me.Casting.ID} && ${Me.CombatState.Equal[COMBAT]} && !${Me.Invis}
&& ${FindItemCount[=Blade of Vesagran]} && ${Me.ItemReady[Blade of
Vesagran]} && !${Me.Song[Spirit of Vesagran].ID} && ${Me.Song[Prophet's Gift of the Ruchu].ID}
you could do a ${Spawn[pc group shaman].ID} check
 
I don't see any need to differentiate if the shaman is actually in the group or not. If no shaman then the 'gift of ruchu' can never be true and it will have no impact on the remaining conditions.
Yeah but I wanted to stop the other one from firing if there was a shaman in the group.

INI:
  UseBRDEpic:
    action: /useitem Blade of Vesagran
    condition: >-
      !${Me.Casting.ID} && ${Me.CombatState.Equal[COMBAT]} && !${Me.Invis}
      && ${FindItemCount[=Blade of Vesagran]} && ${Me.ItemReady[Blade of
      Vesagran]} && !${Spawn[pc group shaman].ID}
  UseBRDEpicwithShaman:
    action: /useitem Blade of Vesagran
    condition: >-
      !${Me.Casting.ID} && ${Me.CombatState.Equal[COMBAT]} && !${Me.Invis}
      && ${FindItemCount[=Blade of Vesagran]} && ${Me.ItemReady[Blade of Vesagran]} && !${Me.Song[Spirit of Vesagran].ID} && ${Me.Song[Prophet's Gift of the Ruchu].ID}
 
Shaman and Bard Epic should be synchronized for max dps.

I want my shaman to lead and I want the bard to cast his epic if he sees the shaman go.

If I'm playing my bard without a shaman I want him to fire the epic normally.
 
Shaman and Bard Epic should be synchronized for max dps.

I want my shaman to lead and I want the bard to cast his epic if he sees the shaman go.

If I'm playing my bard without a shaman I want him to fire the epic normally.

I never got my shaman his epic so I never encountered this.

Your 2nd react would still work if you determine a method to ensure the shaman fires his epic first every time.
 
@burdsjm ... Some pages back you shall find an example how you can disable the first one (no shm in group) within the action of the second one (shm in group). If you want it to be full automatic yoe may use a third react which would reactivate your first react, and shall, in the the Shaman leave the group.

Not at pc atm just browsing mobile. If I remember I'll check back tomorrow to create a sample.
 
Here is an example with class conditions for Shaman side of it. I didnt test it fully yet but it should work:
Shaman Epic W/ Bard Click
YAML:
ShmEpicWithBard:
    action: /multiline ; /useitem Blessed Spiritstaff of the Heyokah; /g Shaman Epic - Activated
    condition: >-
      "(${Group.Member[1].Class.ShortName.Equal[BRD]} || ${Group.Member[2].Class.ShortName.Equal[BRD]} || ${Group.Member[3].Class.ShortName.Equal[BRD]} || ${Group.Member[4].Class.ShortName.Equal[BRD]} || ${Group.Member[5].Class.ShortName.Equal[BRD]}) $$ ${Me.Class.ShortName.Equal[SHM]} && !${Me.Casting.ID} && ${Me.CombatState.Equal[COMBAT]} && ${Me.ItemReady[Blessed Spiritstaff of the Heyokah]} && !${Me.Song[Prophet's Gift of the Ruchu].ID} && ${Me.Song[Spirit of Vesagran].ID}"
 
Tip - MQ2 React Collection

Users who are viewing this thread

Back
Top
Cart