RekkasGit / E3Next

12 stars 21 forks source link

Cycles through Memming Spells #118

Closed MetalJacx closed 1 year ago

MetalJacx commented 1 year ago

I think there might be an order of operations error. I hope I can explain this well. I have been building out IF statement for high resist boss based on different types of damage. I have notice that even if the boss is defined in the IF statement it still Mems the spell. It doesn't cast the spell but still waste time memming. This makes me believe the check happens after memorizing the spell and not before. Things get weirder when the boss falls on two of the spells on the list. It will just cycle through and never make it to the third spell.

[Nukes]
Main=Apocryphal Jaundiced Bone Bracer

[DoTs on Assist]
Main=Pox of Bertoxxulous/Gem|5/MaxTries|3/Ifs|DiseaseImm
Main=Ancient: Scourge of Nife/Gem|5/MaxTries|3/Ifs|PoisonImm
Main=Odium/Gem|5/MaxTries|3

[Ifs]
PoisonImm=!${Target.CleanName.Equal[The Itraer Vius]} && !${Target.CleanName.Equal[Thall Xundraux Diabo]}
DiseaseImm=!${Target.CleanName.Equal[The Itraer Vius]} && !${Target.CleanName.Equal[Thall Xundraux Diabo]}

Here is what happens. Mems Pox of Bertoxxulous in Gem 5 Stands there for a second Cast Nuke - Main=Apocryphal Jaundiced Bone Bracer Mems Ancient: Scourge of Nife Stands there for a second Cast Nuke - Main=Apocryphal Jaundiced Bone Bracer Mems Pox of Bertoxxulous in Gem 5 Stands there for a second Cast Nuke - Main=Apocryphal Jaundiced Bone Bracer .... Repeats It never makes it to Odium to cast.

I understand that there is MaxTries, but if I know for sure it not going to work on certain boss I figure why waste time and mana even casting it 3 times. I think also it would be great if the IF statement was check before going through the process of memorizing the spell.

Thank You for your time.

RekkasGit commented 1 year ago

So.. the current issue using Ifs this way, is that as you say it happens after a CheckReady is done.

Check ready is done "before" a target is acquired. Aka why change your target if the spell isn't ready. (like a healer targeting a tank, but their stun isn't ready yet to target the mob)

Inside of CheckReady, the spell is memorized if it isn't currently memed.

This leads to a situation were the spell must be memed before we will target a mob, and we need to target the mob to get buff status and let the IFs statement works.

I'm not sure a good way to change this atm, but I will think on it.

MetalJacx commented 1 year ago

I get from the buff standpoint.

Just a thought since nuking and dotting essentially requires you to target the mob anyways. Could the logic be, if no heals/buffs are being required from the priority list to default target the assist. Then the Ifs statement could be leverage before the mem since you are defaulting to the target. shrug

RekkasGit commented 1 year ago

Again still thinking on it :) Going to use my smarter self in the morning. Clerid/Druid/Shaman both Heal/Nuke/Dot/Buff. So its mainly an issue with the way they work. Hybrids can heal/buff/nuke

Really only pure dps classes keep their assist target all the time.

RekkasGit commented 1 year ago

I am going to have to address this in a different way, and atm not sure how I will do this. General issue is how to have your toons skip abilties/etc if the target is going to be immune to them, and not try to mem if a spell. You can use config sets using /e3load diseaseimmune

or edit your ini on the fly right now and have it auto reload. (what I do)

I will still keep in mind how I can solve this in a better way however, tho I do have bigger fish to fry atm.