• 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 - Necro Spamming spell on immune mob

insomniac3011

Member
Joined
Jul 15, 2020
RedCents
72¢
Hey so I'm having problems with my Necro, I have it set for him to cast all his dot's when fighting named's which are one level below (64) or higher OR Mobs that aren't nameds but 2 levels or higher than the necro, that has been working fine but my problem is that whenever we run across a mob that is immune to one of those spells or HIGHLY resistant he just spams that spell pretty much nonstop, at least 7-8 times then he will cast one other spell and go right back to spamming that spell that gets resisted everytime, so I am having this problem on undead since they seem to be extremely disease and poison resistant. What I would like to do is add a condition that will prevent the spell from being cast if the mob is undead though since I'm not great with conditions I dont know how to make a condition to prevent undead from being attacked with the spell, i only know how to make a condition to attack a mob.

Current condition that i'm using.
${Target.Named} && ${Me.XTarget[1].Level}>=${Math.Calc[${Me.Level}-1]} || ${Me.XTarget[1].Level}>=${Math.Calc[${Me.Level}+2]}

On condition 18 I have
Cond18=${Target.Body.Name.Equal[Undead]}

Which does check for undead, though from what I understand that will make it only attack undead, I want it to avoid the spell on undead.

[General]
KissAssistVer=12.002
Role=Assist
CampRadius=30
CampRadiusExceed=400
ReturnToCamp=0
ChaseAssist=1
ChaseDistance=12
MedOn=0
MedStart=20
MedStop=100
MedCombat=0
LootOn=0
RezAcceptOn=1|90
AcceptInvitesOn=1
GroupWatchOn=0
GroupWatchCheck=FALSE
CorpseRecoveryOn=0
EQBCOn=1
DanNetOn=0
DanNetDelay=20
IRCOn=0
CampfireOn=0
CharInfo=Necromancer|65|GOLD
DefaultUI=TRUE
DPSMeter=1
ScatterOn=0
LOSBeforeCombat=0
XTSlot=0

[SpellS]
MiscGem=6
MiscGemLW=0
MiscGemRemem=1
LoadSpellSet=2
SpellSetName=KissAssist
CastingInterruptOn=1
CheckStuckGem=1
Gem1=Touch of Mujaki
Gem2=Splurt
Gem3=Dark Plague
Gem4=Funeral Pyre of Kelador
Gem5=Blood of Thule
Gem6=Seduction of Saryrn
Gem7=Neurotoxin
Gem8=Death Peace

[Buffs]
BuffsOn=1
BuffsSize=20
Buffs1=Seduction of Saryrn
Buffs2=Worg Saddle
Buffs3=Force Shield
Buffs4=NULL
Buffs5=Distillate of Spirituality VII
Buffs6=NULL
Buffs7=NULL
Buffs8=NULL
Buffs9=NULL
Buffs10=NULL
Buffs11=NULL
Buffs12=NULL
Buffs13=NULL
Buffs14=NULL
Buffs15=NULL
Buffs16=NULL
Buffs17=NULL
Buffs18=NULL
Buffs19=NULL
Buffs20=NULL
RebuffOn=1
CheckBuffsTimer=10
PowerSource=NULL

[Melee]
AssistAt=98
MeleeOn=0
FaceMobOn=1
MeleeDistance=90
StickHow=snaproll
AutoFireOn=0
UseMQ2Melee=0
TargetSwitchingOn=0

[GoM]
GoMSHelp=Format - Spell|Target, MA Me or Mob, i.e. Rampaging Servant Rk. II|Mob
GoMSize=3
GoMSpell1=NULL
GoMSpell2=NULL
GoMSpell3=NULL

[GMail]
GMailHelp=Events currently support - Dead,Drag,GM,Level,Named,Leftgroup,Tells
GMailOn=0
GMailSize=5
GMail1=NULL
GMail2=NULL
GMail3=NULL
GMail4=NULL
GMail5=NULL

[AE]
AEOn=0
AESize=10
AERadius=50
AE1=NULL
AE2=NULL
AE3=NULL
AE4=NULL
AE5=NULL
AE6=NULL
AE7=NULL
AE8=NULL
AE9=NULL
AE10=NULL

[DPS]
DPSOn=1
DPSSize=20
DPSSkip=5
DPSInterval=1
DPS1=Command:/stand|100|Cond25
DPS2=Splurt|99|Cond22
DPS3=Dark Plague|98|Cond22
DPS4=Funeral Pyre of Kelador|97|Cond22
DPS5=Blood of Thule|96|Cond22
DPS6=Neurotoxin|94
DPS7=NULL
DPS8=NULL
DPS9=NULL
DPS10=NULL
DPS11=NULL
DPS12=NULL
DPS13=NULL
DPS14=NULL
DPS15=NULL
DPS16=NULL
DPS17=NULL
DPS18=NULL
DPS19=NULL
DPS20=NULL
DebuffAllOn=0

[Aggro]
AggroOn=1
AggroSize=5
Aggro1=Death Peace|95|>
Aggro2=NULL
Aggro3=NULL
Aggro4=NULL
Aggro5=NULL

[Heals]
Help=Format Spell|% to heal at i.e. Devout Light Rk. II|50
HealsOn=1
HealInterval=0
AutoRezOn=0
HealsSize=5
Heals1=Touch of Mujaki|70|tap
Heals2=Mend Companion|50|Cond14
Heals3=Touch of Death|65|pet
Heals4=NULL
Heals5=NULL
XTarHeal=0
XTarHealList=Xtar slots here Example: 5|6|7
HealGroupPetsOn=0
RezMeLast=0

[Cures]
CuresOn=0
CuresSize=5
Cures1=NULL
Cures2=NULL
Cures3=NULL
Cures4=NULL
Cures5=NULL

[Pet]
PetOn=1
PetSpell=Child of Bertoxxulous
PetFocus=NULL
PetShrinkOn=0
PetShrinkSpell=Tiny Companion
PetBuffsOn=1
PetBuffsSize=8
PetBuffs1=Rune of Death
PetBuffs2=NULL
PetBuffs3=NULL
PetBuffs4=NULL
PetBuffs5=NULL
PetBuffs6=NULL
PetBuffs7=NULL
PetBuffs8=NULL
PetCombatOn=1
PetAssistAt=98
PetAttackDistance=115
PetToysSize=6
PetBreakMezSpell=NULL
PetRampPullWait=0
PetSuspend=0
MoveWhenHit=0
PetHoldOn=1
PetForceHealOnMed=0
PetToysGave=

[Merc]
Help=To use: Turn off Auto Assist in Manage Mercenary Window
MercOn=0
MercAssistAt=92

[Mez]
MezOn=0
MezRadius=50
MezMinLevel=Min Mez Spell Level
MezMaxLevel=Max Mez Spell Level
MezStopHPs=80
MezSpell=NULL
MezDebuffOnResist=0
MezDebuffSpell=Your Debuff Spell

[Burn]
BurnAllNamed=1
UseTribute=0
BurnSize=15
Burn1=Wake the Dead|Cond16
Burn2=Life Burn|Cond9
Burn3=NULL
Burn4=NULL
Burn5=NULL
Burn6=NULL
Burn7=NULL
Burn8=NULL
Burn9=NULL
Burn10=NULL
Burn11=NULL
Burn12=NULL
Burn13=NULL
Burn14=NULL
Burn15=NULL

[Pull]
PullWith=Melee
PullMeleeStick=0
MaxRadius=350
MaxZRange=50
UseWayPointZ=0
PullWait=5
PullRadiusToUse=90
PullRoleToggle=0
ChainPull=0
ChainPullHP=90
PullPause=30|2
PullLevel=0|0
PullArcWidth=0
PullOnReturn=0

[PullAdvanced]
PullLocsOn=0

[AFKTools]
AFKHelp=AFKGMAction=0 Off, 1 Pause Macro, 2 End Macro, 3 Unload MQ2, 4 Quit Game
AFKToolsOn=1
AFKGMAction=1
AFKPCRadius=500
CampOnDeath=0
ClickBacktoCamp=0

[KConditions]
ConOn=1
CondSize=30
Cond1=${Me.XTarget} > 0 && ${Me.CombatAbilityReady[Guard Piety]} && ${Me.PctHPs} < 100
Cond2=${Me.XTarget} > 0 && ${Me.CombatAbilityReady[Sanctification Discipline]} && ${Me.PctHPs} < 75
Cond3=${Me.XTarget} > 0 && ${Me.CombatAbilityReady[Deflection Discipline]} && ${Me.PctHPs} < 75 && ${Cond[20]}
Cond4=${Me.XTarget} > 0 && ${Me.PctHPs} < 90
Cond5=${Me.XTarget} > 0 && ${Me.PctHPs} < 70
Cond6=${Me.XTarget} > 0 && ${Me.PctHPs} < 50
Cond7=${Me.XTarget[1].Level}>=${Math.Calc[${Me.Level}+2]}
Cond8=${Me.XTarget[1].Level}>=${Math.Calc[${Me.Level}-1]}
Cond9=${Cond[13]} && ${Cond[8]}
Cond10=${Cond[5]} && ${Cond[7]}
Cond11=${Cond[6]} && ${Cond[7]}
Cond12=${Me.PctMana}<30
Cond13=${Me.XTarget} > 0 && ${Me.AltAbilityReady[Life Burn]}
Cond14=${Me.XTarget} > 0 && ${Me.AltAbilityReady[Mend Companion]}
Cond15=${Me.XTarget} > 0 && ${Me.AltAbilityReady[Wake the Dead]}
Cond16=${Cond[8]} && ${Cond[15]}
Cond17=${Target.Named}
Cond18=${Target.Body.Name.Equal[Undead]}
Cond19=${Cond[8]} && ${Cond[17]}
Cond20=${Target.Class.CanCast}````
Cond21=${Me.XTarget} > 0 && ${Me.CombatAbilityReady[Deftdance Discipline]} && ${Me.PctHPs} < 50
Cond22=${Target.Named} && ${Me.XTarget[1].Level}>=${Math.Calc[${Me.Level}-1]} || ${Me.XTarget[1].Level}>=${Math.Calc[${Me.Level}+2]}
Cond23=${Target.PctHPs} > 5 && ${Me.PctEndurance} > 20 && ${Target.Named} && ${Me.XTarget[1].Level}>=${Math.Calc[${Me.Level}-4]} || ${Me.XTarget[1].Level}>=${Math.Calc[${Me.Level}+4]} && ${Target.PctHPs} > 5 && ${Me.PctEndurance} > 20
Cond24=${Target.Named} && ${Me.XTarget[1].Level}>=${Math.Calc[${Me.Level}-4]} || ${Me.XTarget[1].Level}>=${Math.Calc[${Me.Level}+4]} || ${Me.XTarget[1].Level}>=${Math.Calc[${Me.Level}+1]} && ${SpawnCount[npc radius 50]}>3
Cond25=${Me.Feigning}
Cond26=${Me.XTarget} > 0 && ${Me.CombatAbilityReady[Boastful Bellow]}
Cond27=${Target.Named}
Cond28=${Me.XTarget[1].Level}>=${Math.Calc[${Me.Level}-5]}
Cond29=${Cond[27]} && ${Cond[28]}
Cond30=TRUE

[KissError]
LastCMD:=/endmacro
ErrorDateTime:=02/07/2022 22:36:29
ErrorMsg:=Plugin 'MQ2Posse' could not be loaded: Plugin was not built for this version of EverQuest (was built for Dec 9 2021 08:36:56)
DataError:=NULL
SyntaxError:=NULL
RunningTime:=32428605
BuildDate:=20220120
CurrentUI:=Default
 
Put a ! in front (becomes the opposite)
${Target.Body.Name.Equal[Undead]} = Target is undead
!${Target.Body.Name.Equal[Undead]} = Target is NOT undead

You could also do the "right" thing syntax wise:
${Target.Body.Name.NotEqual[Undead]}

There isn't anything built into Kiss regarding resistances and turning off tree. It would be fairly to add in user-controlled toggles. If you want to do this yourself:

Look for SUB: Combat Cast

In there, look for this:
/if (${Target.Mezzed.ID} && !${IAmMA} && ${Spell[${DPSPart1}].Category.NotEqual[Utility Detrimental]}) {
DEBUGCOMBAT Skipping spell in CombatCast because target is mezzed and I'm not mainassist and it will wake up the mob.
/break
}


Add the following:

/if (${Spell[${DPSPart1}].Subcategory.Equal[Fire]} && ${FireCast}==0) {
DEBUGCOMBAT CombatCast: I'm skipping ${Spell[${DPSPart1}]} on ${Spawn[${MyTargetID}]} in CombatCast as Fire Casting is OFF!
/break
}
/if (${Spell[${DPSPart1}].Subcategory.Equal[Cold]} && ${ColdCast}==0) {
DEBUGCOMBAT CombatCast: I'm skipping ${Spell[${DPSPart1}]} on ${Spawn[${MyTargetID}]} in CombatCast as Cold Casting is OFF!
/break
}
/if (${Spell[${DPSPart1}].Subcategory.Equal[Magic]} && ${MagicCast}==0) {
DEBUGCOMBAT CombatCast: I'm skipping ${Spell[${DPSPart1}]} on ${Spawn[${MyTargetID}]} in CombatCast as Magic Casting is OFF!
/break
}
/if (${Spell[${DPSPart1}].Subcategory.Equal[Disease]} && ${DiseaseCast}==0) {
DEBUGCOMBAT CombatCast: I'm skipping ${Spell[${DPSPart1}]} on ${Spawn[${MyTargetID}]} in CombatCast as Disease Casting is OFF!
/break
}
/if (${Spell[${DPSPart1}].Subcategory.Equal[Poison]} && ${PoisonCast}==0) {
DEBUGCOMBAT CombatCast: I'm skipping ${Spell[${DPSPart1}]} on ${Spawn[${MyTargetID}]} in CombatCast as Poison Casting is OFF!
/break
}

in Sub: Load Aliases, add the following

/squelch /alias /togfire /togglevariable FireCast
/squelch /alias /togcold /togglevariable ColdCast
/squelch /alias /togmagic /togglevariable MagicCast
/squelch /alias /togdisease /togglevariable DiseaseCast
/squelch /alias /togpoison /togglevariable PoisonCast

And lastly, in Sub:Declare Outers:

/declare ColdCast int outer 1
/declare FireCast int outer 1
/declare MagicCast int outer 1
/declare DiseaseCast int outer 1
/declare PoisonCast int outer 1

By doing the above, you've created your own variable (default being ON) to use within the macro, and put conditions in the Casting checks NOT to use a tree if you've shut it off. AND you've created your own toggles to use ingame. You can simply /togcold to turn OFF cold.

You **wont** need to redefine your existing ini either.

Hope this helps!
 
Put a ! in front (becomes the opposite)
${Target.Body.Name.Equal[Undead]} = Target is undead
!${Target.Body.Name.Equal[Undead]} = Target is NOT undead

You could also do the "right" thing syntax wise:
${Target.Body.Name.NotEqual[Undead]}

There isn't anything built into Kiss regarding resistances and turning off tree. It would be fairly to add in user-controlled toggles. If you want to do this yourself:

Look for SUB: Combat Cast

In there, look for this:
/if (${Target.Mezzed.ID} && !${IAmMA} && ${Spell[${DPSPart1}].Category.NotEqual[Utility Detrimental]}) {
DEBUGCOMBAT Skipping spell in CombatCast because target is mezzed and I'm not mainassist and it will wake up the mob.
/break
}


Add the following:

/if (${Spell[${DPSPart1}].Subcategory.Equal[Fire]} && ${FireCast}==0) {
DEBUGCOMBAT CombatCast: I'm skipping ${Spell[${DPSPart1}]} on ${Spawn[${MyTargetID}]} in CombatCast as Fire Casting is OFF!
/break
}
/if (${Spell[${DPSPart1}].Subcategory.Equal[Cold]} && ${ColdCast}==0) {
DEBUGCOMBAT CombatCast: I'm skipping ${Spell[${DPSPart1}]} on ${Spawn[${MyTargetID}]} in CombatCast as Cold Casting is OFF!
/break
}
/if (${Spell[${DPSPart1}].Subcategory.Equal[Magic]} && ${MagicCast}==0) {
DEBUGCOMBAT CombatCast: I'm skipping ${Spell[${DPSPart1}]} on ${Spawn[${MyTargetID}]} in CombatCast as Magic Casting is OFF!
/break
}
/if (${Spell[${DPSPart1}].Subcategory.Equal[Disease]} && ${DiseaseCast}==0) {
DEBUGCOMBAT CombatCast: I'm skipping ${Spell[${DPSPart1}]} on ${Spawn[${MyTargetID}]} in CombatCast as Disease Casting is OFF!
/break
}
/if (${Spell[${DPSPart1}].Subcategory.Equal[Poison]} && ${PoisonCast}==0) {
DEBUGCOMBAT CombatCast: I'm skipping ${Spell[${DPSPart1}]} on ${Spawn[${MyTargetID}]} in CombatCast as Poison Casting is OFF!
/break
}

in Sub: Load Aliases, add the following

/squelch /alias /togfire /togglevariable FireCast
/squelch /alias /togcold /togglevariable ColdCast
/squelch /alias /togmagic /togglevariable MagicCast
/squelch /alias /togdisease /togglevariable DiseaseCast
/squelch /alias /togpoison /togglevariable PoisonCast

And lastly, in Sub:Declare Outers:

/declare ColdCast int outer 1
/declare FireCast int outer 1
/declare MagicCast int outer 1
/declare DiseaseCast int outer 1
/declare PoisonCast int outer 1

By doing the above, you've created your own variable (default being ON) to use within the macro, and put conditions in the Casting checks NOT to use a tree if you've shut it off. AND you've created your own toggles to use ingame. You can simply /togcold to turn OFF cold.

You **wont** need to redefine your existing ini either.

Hope this helps!
Wow fantastic information, this is exactly what I was looking for, can't wait to checkout the toggles but just how easy it is to set opposite commands using ! is nice.
 
Word of caution, there's alot of spells from other casters that don't get flagged, or are mis-flagged for this. Would need a more intuitive system to encompass Druid debuffs for example (flagged as fire). It does get the majority so hopefully helps you with casting mana efficiency.
 
Question - Necro Spamming spell on immune mob

Users who are viewing this thread

Back
Top
Cart