• 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 --->

Question - Conditions question (1 Viewer)

moonst

New member
Joined
Jun 16, 2018
RedCents
23¢
I don't really know how to write conditions so i'm wondering can you write a condition to check for multiple debuffs on your target. example ranger has Elemental arrow which increases fire and ice damage, but also has volatile arrow and glacial arrow wich one increases fire damage other increases ice i wouldn't want to cast all three on my target at once kinda stupid so can i write a condition that would check for the other 2 debuffs if not present then cast? thank you
 
Yeah you can write conditions to check almost anything MQ2 can check. Checking your target's buffs/debuffs is this check:

${Target.Buff[BuffName].ID}

The above code will return TRUE if your target has a buff named "BuffName" in it's buff window. The negative can also be checked (ie if your target does not have "BuffName") by adding ! in front.

!${Target.Buff[BuffName].ID}

This one will return TRUE if your target doesn't have "BuffName"

You can string the TRUE/FALSE checks together via:
&& = AND
|| = OR

So something like this will cast "Nuke" if (you have a target) AND (your target is between 20% and 99% health) AND (your target's buff window has populated) AND (your target does not have Buff1) AND (your target does not have Buff2)

INI:
DPS1=Nuke|99
DPSCond1=${Target.ID} && ${Range.Between[20,99:${Target.PctHPs}]} && ${Target.BuffsPopulated} && !${Target.Buff[Buff1].ID} && !${Target.Buff[Buff2].ID}


I often recommend eqmule's 110 wizard ini as a good learning ini. He has a ton of conditions set up for his DPS section and you can figure out how to do your own conditions by seeing how he did his. You can also check out the compiled ini list to see if anybody has already written a condition for the same thing you need.
 
Thank you for the reply I have checked lol and im using the 110 ini for ranger but no conditions =/ anyways im trying to learn so i can possibly make kick ass ini and post em here =P
 
ok i might have done this wrong im trying to get them to fire off only if the target does not have any of the other debuff

DPS7=Elemental Arrow|99
DPSCond7=${Target.ID} && ${Range.Between[1,99:${Target.PctHPs}]} && ${Target.BuffsPopulated} && !${Target.Buff[Volatile Arrow].ID} && !${Target.Buff[Glacial Arrow].ID}
DPS8=Glacial Arrow|99
DPSCond8=${Target.ID} && ${Range.Between[1,99:${Target.PctHPs}]} && ${Target.BuffsPopulated} && !${Target.Buff[Elemental Arrow].ID} && !${Target.Buff[Volatile Arrow].ID}
DPS9=Volatile Arrow|99
DPSCond9=${Target.ID} && ${Range.Between[1,99:${Target.PctHPs}]} && ${Target.BuffsPopulated} && !${Target.Buff[Elemental Arrow].ID} && !${Target.Buff[Glacial Arrow].ID}
 
${Target.Buff[BuffName].ID} is anything in the "buff" window, so for mobs or whatever is your target it is buffs & debuffs.

If you're checking for a self buff, then Buff does it, but if it is a "song" you'd check Song for short buff window.

${Me.Buff[BuffName].ID} -vs- ${Me.Song[BuffName].ID}


----------------------

Yeah that looks right logic wise. Are the debuff's called exactly that? It will check for the exact name.

You can also do quick tests if something is working via /echo.
INI:
/echo ${Target.Buff[Volatile Arrow].ID}

Will run the MQ2 check on your target and print out TRUE/FALSE/NULL or a number or such in your MQ2 text window or maybe an error if something isn't formatted correct.
 
Last edited:
hrmm ok ill check reason i ask is becasue it is still fireing all three on target when i only want one of them per target or one of them on a target at once
 
I dont know how to do the code box thing
but to be simplistic would it be easier and get the result that i want?

DPS7=Elemental Arrow|99
DPSCond7=!${Target.Buff[Volatile Arrow].ID} && !${Target.Buff[Glacial Arrow].ID}
DPS8=Glacial Arrow|99
DPSCond8=!${Target.Buff[Elemental Arrow].ID} && !${Target.Buff[Volatile Arrow].ID}
DPS9=Volatile Arrow|99
DPSCond9=!${Target.Buff[Elemental Arrow].ID} && !${Target.Buff[Glacial Arrow].ID}

Gorsh i feel dumb i needed to turn the dpscon on lol
 
Last edited:
Yeah so the simple version could work, the extra stuff is because sometimes in combat you may have just switched to the mob (like you healed then swap back) and the buff window may not be filled yet (so you get a FALSE/NULL no matter what), or maybe you don't want to waste time debuffing a mob that already at 10% health.

You kind of have to try them and see if it works long term.

Yeah you'd need conditions turned on in General & DPS. Set it to =2 in General so it checks the ini for conditions, as opposed to =1 which looks for a separate conditions ini file.

Code box is via </> button in the text editor, it will pop-up a window you can use for the text box.
 
Last edited:
Yeah its working like a charm now i need to clean it up but it opens a ton to writing cond, for everything else i just dont know how to get it to look at the extended target window or even what part of the ini i would put that under like i would love to write in a condition that if say 4 mobs are pulled listed in the extended tar window i could use my flusterbolt and bluster bolt to punt two of them out and drop threat that would be awesome but like i said still learning a lot here and getting into the condtions youve helped a ton.
 
You can get counts from XTarget and such, but default KA isn't setup for root CC. You could try it out by using the Mez section which has built in mob count checks, but I've never tried it for a root class. AEMez might punt the mob you're on, no idea which mob it selects for AE.

If you're getting into coding, you could probably mod your KA version for root mez though.
 
what if you were to put it into the aoe section does it have xtarget for that and if so how does it number the targets? or would they have same number as it shows in the extended target window? so i could write it up somthing like

AE7=Blusterbolt|3|mob|"then target number"

Ive tried using the mez setting first it doesnt even pop up for ranger i had to move it over and secondly i could not get it to work. since both fluster and blusterbolt are single targets i would have to give them a target to hit with. Although i could try listeing the two spells as single target so it would put one mob out then target another and punt it out as well that might work? I want it mainly for the punting ability the root really isnt the main reason for it =P
 
AE has a format that takes Spell|#mobs|TargetType but that's it. It doesn't change targets. DPS also stays on the tank/assist target. Mez definitely picks targets other than the assist target, but it sounds like it might be disabled for non-bard/ench classes.

Are either an AE root? That could work if it has push back.

Here is the KA general instructions, which cover the main stuff you can put in each section.

If you're really set on root, sounds like you'll need to get the Mez section active by modding KA. Maybe another user has already found a work-around or such. If you want to try that, here's a discussion about adding Heal section to enchanters, which have that disabled in default KA.
 
welp lol not as easy as adding ranger to the mez list lol lots of conditionals and such needed to put him in there and not sure if it would work since it would be clearing aggro and dropping the target. I wich i could write it into the ae settings would be best placed there to punt mobs out but need to be able to define that the target is any other than the main assist target lol
 
is there a condition in which we can target a mob that is not the main assists target?

so as i am looking at it more and more i would actually need to write mini macro as a condition lol
basically would be in ae section once x amount of targets are in radius it would target one that is not the main assists target and cast spell, then return to assist if still x number of targets are still within radius it would target non assists target and cast spell then return to main target. It might be lengthy but i think it can be written lol. Would be one hell of a condition.
 
Last edited:
Conditions won't change your actual target as far as where you're casting, they only check that TRUE/FALSE series and then cast on the assist target (or |me or |MA.) That applies to DPS, Burn, Aggro & AE. AE will auto check how many mobs are in camp, not just on XTarget, based on the |# you have in the cast line.

In standard KA, I think the only subroutine that switches off from the assist target to another target in camp is Mez. If I pull two mobs, my Enchanter stops assisting, targets the add and mezzes it, then goes back to DPS on the main target until Mez is going to break. If I pull 4 mobs, the Enchanter uses their AEmez spell, though I'm not sure how they choose the target for it.

You might be able to set it up via a "holy" in MQ2Melee plugin. These are similar to condition/dps area, but can fire a text command or series of text commands via "multiline". They're saved in your MQ2 character ini in your Release folder, not Macros.
 
ok I guess a better question would be what command is changing the targets? in mez section i looked over it a bit last night and couldn't find it. I mean its not really a the root aspect im looking its the punting and aggro dropping ability they do. So holy would work too cuz its an oh shit ability, but i just cant seem to find the command that would call for the character to target another mob that is not on the main assist.

Also off this topic im having trouble getting my advloot to work. ill look through the forums see if i can find somthing on the lol.
 
Spells = ${Me.SpellReady[Icy Boom Boom]}
Spells = You can also check by SpellGem slot in your doing a more generic macro.
Discs/combat skills = ${Me.CombatAbilityReady[Culminating Stand Discipline Rk. II]}
Skills = ${Me.AbilityReady["Fishing"]}
AA = ${Me.AltAbilityReady[Silent Casting]}
Item = ${Me.ItemReady[Innoruuk's Dark Blessing]}


INI:
DPS7=Nuke3|99
DPSCond7=!${Me.SpellReady[Nuke1]} && !${Me.SpellReady[Nuke2]}
 
is there a wild card so if they have any buff on them like?

${Target.Buff[BuffName].ID} for BuffName
${Target.Buff[*].ID} for any buff

thanks.
What would your use case be? It seems pretty inconsequential to check that your target has literally "anything" on it's buff slots.

If you're looking to dispell beneficial things from mobs, there is ${Target.Beneficial.ID} that will return an int if it has a beneficial buff on it or returns zero if it doesn't.
 
My Ranger has an AA that will wipe nine buffs off a mob, I want to check if the mob has any buff on it and use the AA, then if no buffs it wont try to use the AA. So I could use ${Target.Beneficia.ID} and if it comes back as a 1 then use the AA if a zero dont use the AA?
 
My Ranger has an AA that will wipe nine buffs off a mob, I want to check if the mob has any buff on it and use the AA, then if no buffs it wont try to use the AA. So I could use ${Target.Beneficia.ID} and if it comes back as a 1 then use the AA if a zero dont use the AA?
yeah, gonna assume this is for kissassist, you just need a cond#=${Target.Beneficial.ID} in your conditions section.
 
Question - Conditions question

Users who are viewing this thread

Back
Top