• 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

Raz's AFNuke2 for 105 Fire Wizies

I have all the files. I even redownloaded them and put them in the directory. I dont get any errors. They just cast what AA abilities that are up then sit there with the mob targeted but refuse to cast.

- - - Updated - - -

Once they target the mob this pops up in the MQ2 window.
"a zombie is at distance of: 49.14"

did you put the tank in the assist1?

- - - Updated - - -

OMFG if one more of my wizzies kills himself with Pyromancy! grrrrrrr!
 
SOOoooo....Whens the mage version hitting the shelves?// :p

Sorry had to ask, all the Wizzys were getting to cranky...

- - - Updated - - -

With all the suicidal Wizzys we might actually need it...
 
ok so not sure what the deal is but wizzies running afnuke2 are all craycray today! now they have randomly stopped casting, grrrr I fucking hate patchday, maybe I should finish the mage one
 
I had all kinds of trouble, including my wizzy nuking herself to death and drawing aggro like a raid tank and then dropping like a prom dress when the mob gets to her.
 
BURN WIZARD BURN.....oh, you did.......hmm, crispy you are......crunchy in the middle too???

Where's my ketsup???.....better yet BBQ sauce!!!!!
 
good news, wizzies are not blowin themselves up now, but all afnuke2 does is cast AAs and claw and waits on the rest, working on it now

- - - Updated - - -

Think I found WHERE the issue is but I see nothing wrong with it! Grrrr!
Rich (BB code):
${Me.SpellReady[${clawnuke}]}
check for your claw on cooldown, if it is then the macro casts nothing, wtf!

- - - Updated - - -

I think they changed the names of a lot of shit and I am gonna have to start over line by line, I hate that but its what needs to be done...

- - - Updated - - -

all your AA nukes have new names like pyromancy did last change.... will need to find the names and plug them in

- - - Updated - - -

Anyone have a list of the old names (before the patch) vs the new names? this is so fucked up!

- - - Updated - - -

It ain't perfect but until I can figure out what the deal is go to line 669 and find
Rich (BB code):
	/if (!${Me.Song[${GiftOfMana}].ID} && !${Me.SpellReady[${clawnuke}]} && !${Me.Buff[Twincast].ID} && !${Me.Buff[Twincast Rk. III].ID} && !${Me.Buff[Twincast Rk. II].ID} && ${Target.CurrentHPs}<=${mobhealth} && !${Me.Moving} && !${Target.Type.Equal[Corpse]} && ${Target.LineOfSight}) {
/if (${Me.SpellReady[${mainnuke}]}) /call Cast "${mainnuke}"
/if (${Me.SpellReady[${mainnuke2}]} && !${Me.SpellReady[${mainnuke}]}) /call Cast "${mainnuke2}"
     /if (!${ForceTimer}) /call force
}

change it to this:
Rich (BB code):
	/if (!${Me.Buff[Twincast].ID} && !${Me.Buff[Twincast Rk. III].ID} && !${Me.Buff[Twincast Rk. II].ID} && ${Target.CurrentHPs}<=${mobhealth} && !${Me.Moving} && !${Target.Type.Equal[Corpse]} && ${Target.LineOfSight}) {
/if (${Me.SpellReady[${mainnuke2}]}) /call Cast "${mainnuke2}"
     /if (!${ForceTimer}) /call force
}

- - - Updated - - -

there is still a lot broken but at least that will get you back nuking - I am 100% sure there is something borked in Me.SpellReady
 
Last edited:
I had an issue with the familiar and had to change that to :

Rich (BB code):
/if (${ench}==1 && ${Me.AltAbilityReady[Kerafyrm's Prismatic Familiar]} && !${Me.Buff[Improved Familiar].ID} && !${Me.Buff[Kerafyrm's Prismatic Familiar II].ID}) /alt act 510

now I keep getting a "you have not recovered yet" spam.
 
I think the new code/compile addresses some of this:

25 Sep 2015 by EqMule
&#8226;Updated for TEST again... (cmon man are u trying to kill me?!!, scowls at hludwolf ready to attack ;)
&#8226;So... when they patch at 8.30pm I have 2 choices:
1. wait until the morning and go over it manually.
2. run a quickpatch, cross fingers and release without proper testing.
Well, I did 2. and went to bed, I guess it didnt work as intended

uhm, so the structs has been corrected, castready and so on

should be working again...
 
Well I'm glad Raz took initiative to fix this shit. I'm sure as soon as I jump back onto teamspeak, he'll be dying to tell me to FIX MY SHIT. Good job man and I'll fix my shit as soon as I find time to play again.
 
Only complaint i have is the casting , it will try and cast say ethereal fuse quick and will cast it again mid cast of ethereal fuse and get stuck
 
I wasn't going to ask this because hey do what you want. But what exactly did you change in this macro ? When comparing them the nuke, assist, burn, buff sections are all the same as the original macros. The only changes I could find were stuff you took out that was no longer used. I see no original or new code that you contributed here.

btw you have to update the burn and nuke subs because wizard AAs changed Prolonged Destruction is no longer an AA.
 
Changes i seen were cooldown on spell casting and added in downs for more consistant burn casting where this mac would sometimes not cast full burn i have both. And i will admit this version cast spells quicker then your version where i dunno the mac difference but u can see it cast spells quicker atleast my retarded eyes think so
 
He's working on it guys and gls..lot of changes. Give him a few days to figure out what changed, how it changed, and how best to work with those changes.

If you can't wait, fix it youself, or don't use it.

And as far as it goes, even if he didn't add any new code, he had to decifer and adjust the old code, which is alot more than I can do .
 
He's working on it guys and gls..lot of changes. Give him a few days to figure out what changed, how it changed, and how best to work with those changes.

If you can't wait, fix it youself, or don't use it.

And as far as it goes, even if he didn't add any new code, he had to decifer and adjust the old code, which is alot more than I can do .

The issue is they added ranks to the AAs.

Arcane Destruction is now based on the rank of the AA you have. So
Rich (BB code):
/if (${Target.PctHPs}<${WhenToBurn} && ${Me.XTarget}>2 && ${SpawnCount[npc radius 50 zradius 50]}>2 && !${Me.Song[Arcane Destruction].ID} && ${Me.AltAbilityReady[Prolonged Destruction]}) /alt act 452
does not work.
So you have to change it to

Rich (BB code):
/if (${Target.PctHPs}<${WhenToBurn} && ${Me.XTarget}>2 && ${SpawnCount[npc radius 50 zradius 50]}>2 && !${Me.Song[Arcane Destruction I].ID} && !${Me.Song[Arcane Destruction II].ID} && !${Me.Song[Arcane Destruction III].ID} && !${Me.Song[Arcane Destruction IV].ID} && ${Me.AltAbilityReady[Frenzied Devastation]}) /alt act 308

And this only fixes one issue.

You run into another issue when you try and detect when you're using Frenzied Devastation.

Rich (BB code):
/if (${Me.Song[Prolonged Destruction].ID} && ${Me.AltAbilityReady[Empowered Focus of Arcanum]}) /alt act 774

this would have to be changed to detect the rank you have in Frenzied Devastation it has 18 ranks adding all of them would really be annoying and you no longer have Empored Focus AA its all under Focus of Arcanum now. Assume you're a 105 max AAed wizard you would change that line to

Rich (BB code):
/if (${Me.Song[Frenzied Devastation XVIII].ID} && ${Me.AltAbilityReady[Focus of Arcanum]}) /alt act 1211

Until there is a way to detect what rank of each AA you have someone will have to code each rank into each burn line.

For now to get Ethereals to work you have to change

Rich (BB code):
/if (${Me.Buff[Twincast].ID} || ${Me.Song[Prolonged Destruction].ID} || ${Me.Song[Arcane Destruction].ID} || ${Me.Buff[Twincast Rk. III].ID} || ${Me.Buff[Twincast Rk. II].ID}) {
/if (${Me.SpellReady[${etherealweave}]}) /call Cast "${etherealweave}"
/if (!${Me.SpellReady[${etherealweave}]} && ${Me.SpellReady[${fireethereal}]}) /call cast "${fireethereal}"
/if (!${Me.SpellReady[${etherealweave}]} && ${Me.SpellReady[${iceethereal}]} && !${Me.SpellReady[${fireethereal}]}) /call cast "${iceethereal}"
/if (!${Me.SpellReady[${etherealweave}]} && ${Me.SpellReady[${iceethereal}]} && !${Me.SpellReady[${fireethereal}]} && !${Me.SpellReady[${magicethereal}]}) /call cast "${magicethereal}"
      /if (!${ForceTimer}) /call force
}

to

Rich (BB code):
	/if (${Me.Buff[Twincast].ID} || ${Me.Buff[Twincast Rk. III].ID} || ${Me.Buff[Twincast Rk. II].ID} || ${Me.Buff[Improved Twincast I].ID} || ${Me.Buff[Improved Twincast II].ID} || ${Me.Buff[Improved Twincast III].ID} || ${Me.Buff[Improved Twincast IV].ID}) {
/if (${Me.SpellReady[${etherealweave}]}) /call Cast "${etherealweave}"
/if (!${Me.SpellReady[${etherealweave}]} && ${Me.SpellReady[${fireethereal}]}) /call cast "${fireethereal}"
/if (!${Me.SpellReady[${etherealweave}]} && ${Me.SpellReady[${iceethereal}]} && !${Me.SpellReady[${fireethereal}]}) /call cast "${iceethereal}"
/if (!${Me.SpellReady[${etherealweave}]} && ${Me.SpellReady[${iceethereal}]} && !${Me.SpellReady[${fireethereal}]} && !${Me.SpellReady[${magicethereal}]}) /call cast "${magicethereal}"
      /if (!${ForceTimer}) /call force
}

This way it will only cast them when you have twincast on. Also you will notice the twincast AA changed
 
ok 99% of mine was hunting for and streamlining the code. Fixing syntax errors and changing and or adding in code that was just broken (AAs that never cast and or conditions that would never be met) You would be amazed when you have it waiting 2s for something that only need 1s to think will do for overall cast times. I removed everything that was not essential to what a wiz is, nukes! Then I changed how the spells fire based on the math of damage vs cost vs time and after that it was a lot of small changes. William has my utmost respect on this and his skills are far better then mine, mine are just different, like eqgeek I am a tester and a tweaker and I just keep tweaking this bad boy, not done yet.....

I wasn't going to ask this because hey do what you want. But what exactly did you change in this macro ? When comparing them the nuke, assist, burn, buff sections are all the same as the original macros. The only changes I could find were stuff you took out that was no longer used. I see no original or new code that you contributed here.

btw you have to update the burn and nuke subs because wizard AAs changed Prolonged Destruction is no longer an AA.

- - - Updated - - -

Only complaint i have is the casting , it will try and cast say ethereal fuse quick and will cast it again mid cast of ethereal fuse and get stuck

common problem with afnuke, I suspect its a timing issue, in the start of the macro is # Turbo 120 raise or lower that 20 at a time until it goes away, most times its lower, 60 is what some are using....
Rich (BB code):
#turbo 120

- - - Updated - - -

It's crazy, Like Frenzied Devastation XII or whatever. That needs to be put into the Nuke INI maybe?

as you get more ranks in your AA you can cast the buff 1 time then mouse over it and it will tell you its name, just like Pyromancy XXIV tells us when we get it maxed, working on it...
 
For a short term solution... What if you add FD to the nuke2_toon.ini? So under spell, put:

Rich (BB code):
FrenziedDevastation=XVIII

Then in your mac you can declare it and maybe use it like:

Rich (BB code):
if (${Target.PctHPs}<${WhenToBurn} && ${Target.Named} && !${Me.Song[Arcane Destruction].ID} && ${Me.AltAbilityReady[${FrenziedDevastation}]}) /alt act 308
 
not sure how much I will get to before my next work trip, I will be gone for about a week (return next Monday) in sunny southern California working at boeing, but I will take the laptop and if I am not too tired I will code at night
 
Ive noticed that i Cant run Afnuke2 assisted off my mage as the assist the wizzie will not nuke or anything unless the mage is actually up taking damage is there anyway that i can set this up to work with the mage pet to assist off of him?
 
Until there is a way to detect what rank of each AA you have someone will have to code each rank into each burn line.

For now to get Ethereals to work you have to change

I'm not much of a coder, but how about an ini where you can put your ranks for a temporary fix?
 
I'm not much of a coder, but how about an ini where you can put your ranks for a temporary fix?

It wouldn't take a whole lot of work to allow partial matches in AA names (i.e. "Frenzied Devastation" instead of "Frenzied Devastation XIV"). In MQ2DataTypes.cpp (around line 2760 or so), replace:
Rich (BB code):
                            if (!stricmp(GETFIRST(),pName)) {

with:
Rich (BB code):
                            if (!_strnicmp(GETFIRST(),pName,strlen(GETFIRST()))) {

Then it will (in theory) match however many characters you put in ${Me.AltAbilityReady[AA Name Here]}
Or, you could use the AA # instead (assuming it's the same # for all ranks...): ${Me.AltAbilityReady[481]}

I am still very disappointed in the nerfs...
 
You can now find the rank of the AA after the latest mq2 update. So instead of

Rich (BB code):
/if (${Me.Song[Frenzied Devastation XVIII].ID} && ${Me.AltAbilityReady[Focus of Arcanum]}) /alt act 1211

you would use

Rich (BB code):
/if (${Me.Song[${Spell[Frenzied Devastation].RankName}].ID} && ${Me.AltAbilityReady[Focus of Arcanum]}) /alt act 1211

${Spell[Frenzied Devastation].RankName}] will show Frenzied Devastation YourAArank so for a max AA wizard it will show Frenzied Devastation XVIII this works for all AAs now I believe so Improved Twincast would be

${Me.Buff[${Spell[Improved Twincast].RankName}].ID} and it would show Improved Twincast IV etc
 
So is this pretty much dead or has anyone made changes that would fit a 105 wiz max AA? I still get decent dps trying to fit the pieces together that are referenced in this thread but it's kind of all over the place.
 
I was working out of town and just got back home, I am back to working on fixing this so it is by no means dead, it is just getting started and it is very alive and well, just need to fix it and update it......
 
Spent 5 minutes before football heres a fixed burn sub. This will work for any level wizard it detects the rank of the AA you have.

Rich (BB code):
Sub Burn
/varset MacroState Burn
/if (${Target.PctHPs}<${WhenToBurn} && ${Me.XTarget}>2 && ${SpawnCount[npc radius 50 zradius 50]}>2 && !${Me.Song[${Spell[Arcane Destruction]}].ID} && ${Me.AltAbilityReady[Frenzied Devastation]}) /alt act 308
/if (${Target.PctHPs}<${WhenToBurn} && ${Target.Named} && !${Me.Song[${Spell[Arcane Destruction]}].ID} && ${Me.AltAbilityReady[Frenzied Devastation]}) /alt act 308
/if (${Me.Song[${Spell[Frenzied Devastation]}].ID} && ${Me.AltAbilityReady[Focus of Arcanum]}) /alt act 1211
/if (${Me.Song[${Spell[Frenzied Devastation]}].ID} && ${Target.PctHPs}<${WhenToBurn} && ${Me.AltAbilityReady[${Fury}]}) /call cast "${Fury}" alt 0
/if (${Me.Song[${Spell[Frenzied Devastation]}].ID} && ${Target.PctHPs}<${WhenToBurn} && ${Me.AltAbilityReady[Fury of Kerafyrm]}) /alt act 759
/if (${Me.Song[${Spell[Frenzied Devastation]}].ID} && ${Target.PctHPs}<${WhenToBurn} && ${Me.AltAbilityReady[Arcane Whisper]}) /call cast "Arcane Whisper" alt 0
/if (${Me.Song[${Spell[Frenzied Devastation]}].ID} && ${Target.PctHPs}<${WhenToBurn} && ${Me.AltAbilityReady[Silent Casting]}) /call cast "Silent Casting" alt 0
/if (${Me.Song[${Spell[Frenzied Devastation]}].ID} && ${Me.AltAbilityReady[${FundamentalName}]} && ${Target.PctHPs}<${WhenToBurn}) /call cast "${FundamentalName}" alt 0
/if (${Me.Song[${Spell[Frenzied Devastation]}].ID} && ${Target.PctHPs}<${WhenToBurn}) {
/if (${Me.AltAbilityReady[Improved Twincast]} && ${Target.PctHPs}<${WhenToBurn} && !${Me.Buff[Twincast].ID} && !${Me.Buff[Twincast Rk. II].ID} && !${Me.Buff[Twincast Rk. III].ID}) /alt act 515
} else {
/if (${Me.Song[${Spell[Frenzied Devastation]}].ID} && !${Me.AltAbilityReady[Improved Twincast]} && ${Me.SpellReady[${TwinCast}]} && !${Me.Buff[Twincast].ID} && !${Me.Buff[Twincast Rk. II].ID} && !${Me.Buff[Twincast Rk. III].ID}) /call cast "${TwinCast}"
}


/if (!${Me.AltAbilityReady[Frenzied Devastation]} && ${Target.PctHPs}<${WhenToBurn} && ${Me.XTarget}>2 && !${Me.Song[${Spell[Frenzied Devastation]}].ID} && ${Me.AltAbilityReady[Arcane Destruction]}) /alt act 1265
/if (!${Me.AltAbilityReady[Frenzied Devastation]} && ${Target.PctHPs}<${WhenToBurn} && ${Target.Named} && !${Me.Song[${Spell[Frenzied Devastation]}].ID} && ${Me.AltAbilityReady[Arcane Destruction]}) /alt act 1265
/if (${Me.Song[${Spell[Arcane Destruction]}].ID} && ${Me.AltAbilityReady[Focus of Arcanum]}) /alt act 1211
/if (${Me.Song[${Spell[Arcane Destruction]}].ID} && ${Target.PctHPs}<${WhenToBurn} && ${Me.AltAbilityReady[${Fury}]}) /call cast "${Fury}" alt 0
/if (${Me.Song[${Spell[Arcane Destruction]}].ID} && ${Target.PctHPs}<${WhenToBurn} && ${Me.AltAbilityReady[Fury of Kerafyrm]}) /alt act 759
/if (${Me.Song[${Spell[Arcane Destruction]}].ID} && ${Target.PctHPs}<${WhenToBurn} && ${Me.AltAbilityReady[Arcane Whisper]}) /call cast "Arcane Whisper" alt 0
/if (${Me.Song[${Spell[Arcane Destruction]}].ID} && ${Target.PctHPs}<${WhenToBurn} && ${Me.AltAbilityReady[Silent Casting]}) /call cast "Silent Casting" alt 0
/if (${Me.Song[${Spell[Arcane Destruction]}].ID} && ${Me.AltAbilityReady[${FundamentalName}]} && ${Target.PctHPs}<${WhenToBurn}) /call cast "${FundamentalName}" alt 0
/if (${Me.Song[${Spell[Arcane Destruction]}].ID} && ${Target.PctHPs}<${WhenToBurn}) {
/if (${Me.AltAbilityReady[Improved Twincast]} && !${Me.Buff[Twincast].ID} && !${Me.Buff[Twincast Rk. II].ID} && !${Me.Buff[Twincast Rk. III].ID}) /alt act 515
} else {
/if (${Me.Song[${Spell[Arcane Destruction]}].ID} && !${Me.AltAbilityReady[Improved Twincast]} && ${Me.SpellReady[${TwinCast}]} && !${Me.Buff[Twincast].ID} && !${Me.Buff[Twincast Rk. II].ID} && !${Me.Buff[Twincast Rk. III].ID}) /call cast "${TwinCast}" gem1 0s
}
/if (!${Me.AltAbilityReady[Arcane Destruction]} && !${Me.AltAbilityReady[Frenzied Devastation]} && ${Target.PctHPs}<${WhenToBurn} && ${Me.XTarget}>2 && !${Me.Song[${Spell[Arcane Destruction]}].ID} && !${Me.Song[${Spell[Frenzied Devastation]}].ID} && ${Me.AltAbilityReady[Arcane Fury]}) /alt act 840
/if (!${Me.AltAbilityReady[Arcane Destruction]} && !${Me.AltAbilityReady[Frenzied Devastation]} && ${Target.PctHPs}<${WhenToBurn} && ${Target.Named} && !${Me.Song[${Spell[Arcane Destruction]}].ID} && !${Me.Song[${Spell[Frenzied Devastation]}].ID} && ${Me.AltAbilityReady[Arcane Fury]}) /alt act 840
/return

Fixed

Rich (BB code):
	/if (${Me.Buff[${Spell[Improved Twincast]}].ID} || ${Me.Buff[Twincast].ID} || ${Me.Song[${Spell[Frenzied Devastation]}].ID} || ${Me.Song[${Spell[Arcane Destruction]}].ID} || ${Me.Buff[Twincast Rk. III].ID} || ${Me.Buff[Twincast Rk. II].ID}) {
/if (${Me.SpellReady[${etherealweave}]} && ${Me.CurrentMana}>${Spell[${etherealweave}].Mana}) /call Cast "${etherealweave}"
/if (!${Me.SpellReady[${etherealweave}]} && ${Me.SpellReady[${fireethereal}]} && ${Me.CurrentMana}>${Spell[${fireethereal}].Mana}) /call cast "${fireethereal}"
/if (!${Me.SpellReady[${etherealweave}]} && ${Me.SpellReady[${iceethereal}]} && !${Me.SpellReady[${fireethereal}]} && ${Me.CurrentMana}>${Spell[${iceethereal}].Mana}) /call cast "${iceethereal}"
/if (!${Me.SpellReady[${etherealweave}]} && ${Me.SpellReady[${iceethereal}]} && !${Me.SpellReady[${fireethereal}]} && !${Me.SpellReady[${magicethereal}]} && ${Me.CurrentMana}>${Spell[${magicethereal}].Mana}) /call cast "${magicethereal}"
      /if (!${ForceTimer}) /call force
}
 
One thing I have noticed is my wizards seem to continually summon their familiar over and over again. Do I have some setting messed up? it definitely looks botty when they do it.

Also, do I replace the whole upper section of code with the lower, William?
 
Just got my wizzies to level to try this finally. I tried throwing in some of the fixes you guys had posted but not working so hot :(

Definitely donate a few krono to you when you can get the fix up :)
 
Sorry had to work for real life for a bit but finally had time to fix and test the afnuke after the nerfness, the one on the main page is updated and working with the CURRENT EQ Live..... So unless they bork us again it is working, but not as good as I want, so it is test test test time ! Made 4 new wizzies just for testing this bitch! What I do is all 4 are in a group, 1 uses the base macro, 1 has some changes, another has different changes and the last one runs the current best case....

- - - Updated - - -

the big trick now is damage vs mana - a wiz is no good if he is oom in 2 minutes on a boss fight, or if he makes the tank sit for 5 min ever 2 min so he can med..... crunching the numbers now....

- - - Updated - - -

have 3 new mages leveling up as well so I can finish THAT one too!

make sure you grab the updated afnuke2.mac AND the server_toonname.ini as BOTH have been fixed

- - - Updated - - -

After an all night test on 8 wizzies some with a full fix, some with the old broken one, some with holies and some without and 1 with kiss running alone I have data to start streamlining the new improved version, but basically if you do afnuke2 + the holies you consistently get around 80k - not as good as it was but it is sustainable and on serious boss fights you will need to manually pop Sustained Devastation... it seems like the best way so far... not too bad a compromise
 
ok, I'm outa ideas!
this is a total work of art, but I'd like to use the follow function built in.
after setting leash to 1 and putting in the member name to leash too I have the problem of this:

DoCommand - couldn't parse '/melee reset'
General.inc@1088 (doleashperson): /melee reset
afnuke2.mac@436 (special sub): if ($(DoleashToon)) /call
doleashperson
afnuke2.mac@105 (main): /call special sub

I'm at a loss on the fix, any ideas be awsome
 
This is not working for me at all anymore. It's not casting any spells. It's doing some of the AAs but no spells.
 
Raz's AFNuke2 for 105 Fire Wizies

Users who are viewing this thread

Back
Top
Cart