• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Question - a plethora of questions(4) that preclude the use of subject with any relationship with brevity

timmy

Well-known member
Joined
Apr 1, 2014
RedCents
1,443¢
hi!

(1) below does not work. shm will bounce alliance which wastes a gom proc which makes everyone sad. thoughts?
Code:
GoMSpell1=Ancient Alliance|MA|Cond7
Cond7=!${Target.Buff[Ancient Alliance].ID}

(2) if i use the condition below, will that count PC or NPC i've already assigned to a slot in my xtarget?
Code:
${Me.XTarget} > 3

(3) sometimes, but not always, KA will refuse to fire abilities i have set up in the AE section. the message i get in the MQ window is:
Code:
AE-> Casting DEATHNUKE2K19 now would aggro more mobs than we have on xtarget.

KA is a big fat liar because all the mobs are on the xtarget and there aren't any close that aren't aggro'd. any insight?

(4) when you have a long list of things happening in your dps section, is it prudent to but items that have conditionals that make them fire less often lower in the stack or is it moot?

TIA!
 
1)likely you need to use a Target.BuffsPopulated TLO, since you may not have the info on the buffs available when it's che ked and casts alliance anyway (you could look at using netbots info if your super keen)

2) it's counts auto hater npcs present

3) someone who does more with kiss can probably answer this, but I'd guess it's seeing some swarm/familiar/z-axis npcs that won't actually aggro

4) kiss runs fast enough to not stress so much... Personally I always put things first I want to fire above anything else, so long as the condition is met. Ie... I don't want a general nuke to cast because it's conditional is just basic hps less then when I had a twin cast proc or a special spell type proc... I want kiss to check for them spell buffs and cast my big/mana whore spells before moving on to what ever is next that'll fire.

Using conditions is great, but poorly planned/forethought into them can sometimes means you condition some spells from ever casting
 
1)likely you need to use a Target.BuffsPopulated TLO, since you may not have the info on the buffs available when it's che ked and casts alliance anyway

still bounced it. ugh.
 
Hi,

I too have been gnashing my teeth on the Ancient Alliance spell, and my shaman casting it unnecessarily. I’ve tried several different condition syntax eg !${Target.Buff.ID}==50248,${Target.Buff.ID}!==50248, along with the one Supertimmy posted above. I have also tried wrapping it in a MathsCalc.Int or a Select to try and force the condition to return 1 or 0, or TRUE/FALSE but without success. All return correctly on /echo , so it is somewhat frustrating, when the shaman is casting it when one can see the currently active alliance counter at 117 on the MA. Grrr

@Rooster could you suggest the correct syntax for a BuffsPopulated condition?

Just thinking out loud as I type this - I might try with a mq2melee down/holy and see if I can get it to fire correctly. I will revert.

Hylander
 
We just recently added Target recognition to conditions. We have added it to most sections but not all
GOM Conditions don't recognize Target yet. It will be in the next version
 
Replace your Event_GoMOn sub with this and see if it fixes you GOM problem:

Code:
    Sub Event_GoMOn
        /if (${Select[${Me.Class.ShortName},BRD,BER,MNK,ROG,WAR]} || ${GoMByPass}) {
            /varset GoMByPass 0
            /doevents flush GoMOn
            /doevents flush GoMOff
            /return
        }
        /if (!${CombatStart} || ${GoMTimer}) /return
        | Release timer after trying to cast for 10 secs
        /varset GoMTimer 3s
        /declare i int local
        /declare GoMCast string local
        /declare GoMTarget string  local
        /declare GoMCastStat string ${CastResult}
        /declare CondNo local int 0
        /for i 1 to ${GoMSpell.Size}
            /if (${ConOn} && ${GoMSpell[${i}].Find[|cond]}) {
                /varset CondNo ${GoMSpell[${i}].Mid[${Math.Calc[${GoMSpell[${i}].Find[|cond]}+5]},3]}
            } else {
                /varset CondNo 0
            }
            /varset GoMCast ${GoMSpell[${i}].Arg[1,|]}
            /varset GoMTarget ${GoMSpell[${i}].Arg[2,|]}
            /if (${GoMCast.Equal[null]} || ${GoMCast.Find[spell]} || ${GoMSpellTimer${i}}) /continue
            /echo Gift of Mana detected! Trying to cast ${GoMCast}
            /doevents flush GoMOn
            /if (${GoMTarget.Equal[Mob]} || (${GoMTarget.Equal[NULL]} && ${MyTargetID})) /varset GoMTarget ${MyTargetID}
            /if (${GoMTarget.Equal[Me]} && ${Me.ID}) /varset GoMTarget ${Me.ID}
            /if (${GoMTarget.Equal[MA]} && ${Spawn[=${MainAssist}].ID}) /varset GoMTarget ${Spawn[=${MainAssist}].ID}
            /varset GoMActive 1
            /if (${GoMTarget.Equal[${MyTargetID}]} && (${Target.Type.Equal[Corpse]} || !${Spawn[id ${MyTargetID}].ID})) {
                /if (${Debug}) /echo \atDEBUG Event_GoMOn [GoM] skipping because mob is dead or a corpse. \agLine#: ${Macro.CurLine}
                /echo [GoM] being skipped, because target (${GoMTarget}) is a corpse.
                /varset GoMTimer 0
                /delay 10                      
                /doevents GoMOff
                /return
            }
            | Wait for global cooldown if active
            /while (${Me.SpellInCooldown}) {
                /if (${MeleeOn}) {
                    /if (${WeaveArray.Size}>0 && ${WeaveArray[1].NotEqual[null]}) /call CastWeave ${MyTargetID}
                    /if (${MashArray.Size}>0 && ${MashArray[1].NotEqual[null]}) /call MashButtons
                } else {
                    /delay 2
                }
            }
            /if (${Me.SpellReady[${GoMCast}]}) {
                /call CastWhat "${GoMCast}" ${GoMTarget} GoM 0 ${CondNo}
            } else {
                /echo "${GoMCast}" is not ready!
                /delay 10
            }
            /if (${Debug}) /echo Return: ${Macro.Return} \agLine#: ${Macro.CurLine}
            /if (${Macro.Return.Equal[CAST_SUCCESS]}) {
                /echo Gift of Mana Casting >> ${GoMCast} <<
                /varset GoMTimer 0
                /varset GoMSpellTimer${i} (${Spell[${GoMCast}].Duration.TotalSeconds}*${DurationMod})*10
                /doevents flush GoMOn
                /delay 10
                /doevents GoMOff
                /varset CastResult ${GoMCastStat}
                /return
            } else /if (${Macro.Return.Equal[CAST_CANCELLED]}) {
                /varset CastResult CAST_CANCELLED
                /return
            }
            :NextGOM
        /next i
        /varset CastResult ${GoMCastStat}
    /return

As always make a copy of your kiss macro before making this change.
 
${Me.Xtarget} returns a count of all targets in your XTarget window. That includes assigned targets.

Here is the logic for checking in the AE routine if to skip casting because you may bite off mare than you can chew.

Code:
                /if (${Spawn[npc id ${AETargetID}].ID} && ${SpawnCount[npc xtarhater loc ${Spawn[id ${AETargetID}].X} ${Spawn[id ${AETargetID}].Y} radius ${Spell[${AESpell}].AERange}]} < ${SpawnCount[npc loc ${Spawn[id ${AETargetID}].X} ${Spawn[id ${AETargetID}].Y} radius ${Spell[${AESpell}].AERange}]}) {

Me.XTarget is NOT used in this check, but SpawnCount using xtarhater tag is used, this gets a count of spawns you have on XTarget, that are set to AutoHater, within the EA Range of what you are going to cast. The Target you are going to cast on, location is used as the center point of the AE Range. The second check uses the same SpawnCount check, minus the xtarhater tag. Now if the second check returns a higher count than the First check, then there are more total NPC's in range. Than there are NPC's in range, that are in your XTarget window.

when that happens the AE is skipped.
 
Last edited:
Hi,

While the OP had the issue with Ancient Alliance in the GOM section, the problem manifests for me in the [Heals] section also. I also tried using the ${Target.BuffsPopulated} condition as suggested without success.

Is ‘Target’ recognition is active in Heals ?

Thoughts or suggestions?

Hylander
 
BuffsPopulated does not always work as intended. The only way I have been able to get BuffsPopulated to work 100% is to always clear your Target before /targeting the new mob. I don't know why it is an issue, but I think it has something to do with the current targets buff count and the mob your /targeting before doing your BuffsPopulated.

As far as heals go, you could have a different target than the target you are going to heal, at the time the condition is checked. So Target is not going to be 100%. We are in the middle of making a change, to most of the routines that use conditions, to pass the condition to the castwhat routine, so that using Target will be 99.99% accurate.
 
Question - a plethora of questions(4) that preclude the use of subject with any relationship with brevity

Users who are viewing this thread

Back
Top
Cart