• 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

Rizlona Raiding Strats

Raidien1

CrankyPants
Joined
Oct 14, 2015
RedCents
1,347¢
So our guild has been running into a little bit of trouble dealing with Bosses like Naggy and a dracoliche. What strats are you all useing when your raid force is like 60 or 70% (maybe even higher) boxes?

Is there a macro out there where I can put like 4 clerics into a group and they keep up a tank and off tank effectively? What i mean by effectively is keep them healed, not just spam heals and overheal which causes them to go oom. That is one of the main issues we are running into at the moment.

-Raidein
 
It will take some coordination. Have the clerics stagger their heal points (80, 60, 40 etc) or, if you have enough, just dedicate a few to a cheal chain and have the players /mac cheal at different times. You can have them create a button ingame that is /pause ##, /mac SimpleCheal, where ## is the delay between cheals you want, and have them all click at the same time. Have other priests heal them through XTarget using MuleAssist or KissAssist.

Mac could be as simple as
[CODE title="SimpleCheal"]Sub Main

:loop
/if (${Me.SpellReady[Complete Heal]} && !${Me.Casting.ID}) {
/cast "Complete Heal"
/delay 1s ${Me.Casting.ID}
/if (${Me.CombatState.NotEqual[COMBAT]}) /interrupt
/delay 8s
}
/goto :loop
/return[/CODE]

Cheal Chain is on the wishlist for MuleAssist.
 
It will take some coordination. Have the clerics stagger their heal points (80, 60, 40 etc) or, if you have enough, just dedicate a few to a cheal chain and have the players /mac cheal at different times. You can have them create a button ingame that is /pause ##, /mac SimpleCheal, where ## is the delay between cheals you want, and have them all click at the same time. Have other priests heal them through XTarget using MuleAssist or KissAssist.

Mac could be as simple as
[CODE title="SimpleCheal"]Sub Main

:loop
/if (${Me.SpellReady[Complete Heal]} && !${Me.Casting.ID}) {
/cast "Complete Heal"
/delay 1s ${Me.Casting.ID}
/if (${Me.CombatState.NotEqual[COMBAT]}) /interrupt
/delay 8s
}
/goto :loop
/return[/CODE]

Cheal Chain is on the wishlist for MuleAssist.

I do like this idea very much. I am big fan of keeping it simple. Can the macro be modify to place a delay in the next time it chain heals? I would have say 3 or 4 clerics in this chain. So lets say you have a 5 sec delay in chain heals (for easy math) and 4 clerics. So every 20 secs that cleric would be required to chain heal put in a command to make him sit when he is not casting and we have a winner.
 
Last edited:
I think some in our guild are using a custom macros like what Lemons posted, but with auto duck if target is over 90 or so.
basically it just chain heal and chain duck if the tank is full hp.
I am not sure how they handle tank switch, but the best strat so far is to not let the tank die !
 
I would love to see some examples of a working Cheal Macro. Haven't seen any posted.
 

I really like this when combined with mq2reacts to cancel heals if target is above a set % of health, and sit when mana is less than a %. It runs on eqbcs so no server chat lag.
 

I don’t think this is going to work for cheap rotations unless I’m missing something obvious. I guess if you had this running on five clerics and timed it right it would work.
 

I really like this when combined with mq2reacts to cancel heals if target is above a set % of health, and sit when mana is less than a %. It runs on eqbcs so no server chat lag.

we are gonna try this out thanks!
 
How did it go with Rusty's cheal chain? Did it need any updates or changes to make it work right?

it works mostly ok. The biggest problem is that it doesn’t auto switch tanks and I don’t know a command to make it do so. We have been considering moving the the one lemon posted since being able to switch tanks becomes important in velious.
 
If this is for a raid ch chain I would not have it duck out at 100% health I would just have it continue and have a stop or hold command for when you want it to stop
 
If this is for a raid ch chain I would not have it duck out at 100% health I would just have it continue and have a stop or hold command for when you want it to stop
Yea you can edit what % to interrupt at in the 2nd line of the macro. I just have it set to 95% for the ease of upload.
 
Main point was to not have an interrupt % and just have the cleric chain continue till tank dies mob dies or a manual pause
 
I know cleric mana will be an issue till luclin but it's better then ducking and having a tank get owned just cause a cleric ducked a heal
 
But being able to change to delay on the fly and add and remove tanks on the fly would add scalability to the macro
 
I’m actually working on a v2.0 that incorporates the following.

- Will add / commands for the following:
- Ability to turn on/off interrupt cast option without having to restart.​
- Change rotation delay without restarting​
- Add or remove tanks and clerics to their respective lists without having to restart.​
- Change interrupt HP threshold without having to restart.​
- Fix an endless loop issue when all other clerics died in the zone and only one was left.​
Hoping to get it done up today and will post it here.
 
Can I make a request that you add a command to change tanks? Basically, what I'd want to see is:

/command clericname switch MT - rest of the clerics assist off of that cleric.

This would be effective way of dealing with defensive for mobs that require it.
 
EDIT** Version 2.1 uploaded below.

Okay, version 2.0 of the CHRot macro is up for testing/use. Did some pretty thorough testing on it all and everything appears functional.

How to use:
1. Open the macro and edit the following lines (easier if you preset it). Both lines are at the top of the macro (line 22 and line 25)

/declare Cleric_List string outer ClericName1 ClericName2 ClericName3 ClericName4
- Add the names of the clerics you want to have in the chain separated by a space.​
- Example: /declare Cleric_List string outer Sally Sue Susan​
/declare Tank_List string outer TankName1 TankName2 Tankname3
- Add the names of the tanks you want to have in your tank line up separated by a space.​
- Example : /declare Tank_List string outer Bob Buster Bucko​
2. Start the macro on ALL clerics that you defined in step 1 by typing "/mac chrot" on each individual cleric.

3. Start the rotation by saying ">> ClericName GO NOW!" in raid chat.
- Example: /rs >> Sally GO NOW!​

Macro Features:
1) In game slash "/" commands to manipulate specific variables without needing to restart the macro each time.
*Slash commands have to be entered on each cleric individually - they do not save/overwrite the defaults*
- /chdelay - modify the current ch rotation delay (default is 6s)​
*Example: To change to a 5 second delay, you would type /chdelay 5​
- /chstophp - modify the current HP % to interrupt CH at (default is 95)​
*Example: To change to a 90 HP threshold, you would type /chstophp 90​

- /chinterrupt - modify the current setting to interrupt or not (0 = off / 1 = on) (default is 1)​
*Example: To change the interrupt to off, you would type /chinterrupt 0​

- /chtanklist - modify the current tank list. This will add or remove a tank to the list​
*Example: To modify the tank list, you would type /chtanklist NewTankName​
**Note: The code will automatically search for NewTankName in the current list, if found it will remove them. If NewTankName is not in the current list, then it will add them.​

- /chclrlist - modify the current cleric list. This will add or remove a cleric to the list​
*Example: To modify the cleric list, you would type /chclrlist NewClericName​
**Note: The code will automatically search for NewClericName in the current list, if found it will remove them. If NewClericName is not in the current list, then it will add them.​

- /chtankswap - Set a specific player name as the tank (player does not have to be on the tank list)​
*Example: To force a tank, you would type /chtankswap NewTankName​
**Note: The NewTankName is not added to the Tank List. This is handy for situations where all normal tanks have died and a new player picks up the mob​

- /chinfo - Displays all current variables for the macro​

2) The macro will automatically determine the next available tank and cleric based on the chain defined. If a tank or cleric dies, then it will automatically rotate to the next available tank or cleric.
3) The macro will skip a cleric if they are OOM or OOR of the tank.
4) If interrupt is on, the CH will interrupt based on the HP % defined (default 95) at 1.5s casting time remaining (accounts for some server lag)
5) The macro will force sit clerics when they are not casting and mana is < 90%. It will force stand them when mana is > 95%
6) The macro uses raid chat as primary means of announcement for chain, you can modify this by replacing /rs with whatever you'd like. (/auc, /ooc, etc.)
7) If the macro cannot find another cleric in the chain (you are slowly wiping or they went LD), then it will act as if it is single-manned CH Chain and resets variables accordingly (13s delay, etc).
 
Last edited:
With the tank list would you just have to do /chtanklist CurrentTankTanking and it would immediately switch to the next tank in line? Ie Tank1 (this tank is tanking), Tank2, Tank3, Tank4 do /chtanklist Tank1 and it will switch to Tank2?
 
Last edited:
With the tank list would you just have to do /chtanklist CurrentTankTanking and it would immediately switch to the next tank in line? Ie Tank1 (this tank is tanking), Tank2, Tank3, Tank4 do /chtanklist Tank1 and it will switch to Tank2?

The tank list is to handle automatic switching if a tank dies.

Example: Tank list is Bob Bucko Billy

CH chain is rolling on Bob but he ends up dieing. The chain will automatically swap to Bucko without you having to do anything. If you rez Bob, the chain will remain on Bucko until he dies and then pull Bob from the list again. If you do not rez Bob, and Bucko dies, then the list automatically moves to Billy.

The intent of /chtanklist command is to add additional tanks to the list without having to restart the macro on all clerics.
Example, I run 4 clerics. I can simply do “/dga clr /chtanklist Bubba” and it would add bubba to the tank list on all of my clerics vs having to edit the macro and restart on all of them.

If you have a tank list set, but you want someone else to be the tank that ch chain is rolling on, then you would use the /chtankswap command.

Example: Bob Bucko and Billy suck and are lagging out, so Bernard steps up to tank but isn’t on my tank list, I type “/dga clr /chtankswap Bernard” and now all clerics will move to Bernard as their new tank to heal. If Bernard dies, then it goes back into the tank list of Bob Bucko and Billy.

Other use for /chtankswap would be if you are changing tanks due to defensive or something.
Example: Bob is tanking like a champ, but his defensive is dropping, you want to start the chain on Bucko before Bob eats dirt. Then I could type “/dga clr /chtankswap Bucko” and now all my clrs are on Bucko instead.

Note* “/dga clr” command is part of MQ2DanNet, not this macro. It is just used as an example of how to handle all clerics at once.
 
do you guys have anything that Can incorporate the group heal (from leg armor) into the CH rotation?
 
The tank list is to handle automatic switching if a tank dies.

Example: Tank list is Bob Bucko Billy

CH chain is rolling on Bob but he ends up dieing. The chain will automatically swap to Bucko without you having to do anything. If you rez Bob, the chain will remain on Bucko until he dies and then pull Bob from the list again. If you do not rez Bob, and Bucko dies, then the list automatically moves to Billy.

My little group of friends and I ran your wonderful macro, and had a hard time getting this feature to realize. What we observed: When Tank 1 dies, they just... stopped. If we re-issued the start command, they did in fact swap to the next cleric in line... until the first tank was rezzed. They would almost immediately hop back to that first tank. So that was strange. I realize that much of the error was based on running this across multiple clients, but it seemed to mostly work quite well even doing that.

Otherwise, it's one of the nicest macros for this type of situation I've seen. We had it running (almost) smoothly between three different players and 7 clerics. I'd be interested in helping you test this more, if you want.


Sebbun said:
It looks like it's starting the Cheal on tank 2 instead of tank one.

We noticed this too.
 
My little group of friends and I ran your wonderful macro, and had a hard time getting this feature to realize. What we observed: When Tank 1 dies, they just... stopped. If we re-issued the start command, they did in fact swap to the next cleric in line... until the first tank was rezzed. They would almost immediately hop back to that first tank. So that was strange. I realize that much of the error was based on running this across multiple clients, but it seemed to mostly work quite well even doing that.

Otherwise, it's one of the nicest macros for this type of situation I've seen. We had it running (almost) smoothly between three different players and 7 clerics. I'd be interested in helping you test this more, if you want.




We noticed this too.


There was a bug in the script for picking up the next tank when first one dies. That has been fixed in v2.1 attached here.

I have not seen nor been able to reproduce the skipping of the 1st tank in line though. If you guys have more data on this one, shoot me a PM and I'll try and figure it out.
 
Hi Evian.

We noticed no difference in behavior across our clerics this evening. Can I assume you box all of them on the same computer?
 
For anyone else wanting to test out new changes, v3.0 is available.

Changelog:

- Changed event based to bind based functions for smoother reactions - Added checks vs dead, LD functions - Fixed issue with not finding next cleric properly in rare circumstances - Cleaned up fail routines in CH routine to explain why the spell cast is failing (oor, oom, dead tank, dead clr) - Added checks to cancel casting if tank dies, this will not restart the chain until next rotation through though, but will save the mana - Fixed bug with not starting on next tank when 1st dies
 

Attachments

^

This macro has been a game changer for our guild. Its a handful of people, rather than 1 giant box army. We've made some edits to it like tank swapping on a "/rs Tank Swap to: name" hotkey from the tank. Along with some other quality of life changes to integrate with other similar macros we made for some utility classes like using/requesting modrods and necro feeds.
 
We're having a problem where if any cleric is mounted it will give a NULL target for the next cleric in the chain. It looks like its getting the mount instead of the cleric (ie targeting Cleric1's Mount instead of Cleric Name). Is there a way to fix this?
 
Last edited:
Maybe i am wrong, but i am not seeing a way to stop the CH chain, when mob is dead
 
We're having a problem where if any cleric is mounted it will give a NULL target for the next cleric in the chain. It looks like its getting the mount instead of the cleric (ie targeting Cleric1's Mount instead of Cleric Name). Is there a way to fix this?
Spawn is checking for name not pc name.
 
Wasnt sure if there was a stop command so i didnt have to restart but ill do end
 
We're having a problem where if any cleric is mounted it will give a NULL target for the next cleric in the chain. It looks like its getting the mount instead of the cleric (ie targeting Cleric1's Mount instead of Cleric Name). Is there a way to fix this?

Change the Sub DetermineNextClr on lines 196-224 to
[CODE title="chrot3.mac"]Sub DetermineNextClr
/for Cleric_Int 1 to ${MaxCLR}
|Find this clerics name in the list
/if (${Spawn[${Cleric_List.Arg[${Cleric_Int}]} pc].CleanName.Equal[${Me.CleanName}]}) {
|Determine next cleric in the list
:Find_Cleric
/varset FindCleric ${Math.Calc[${FindCleric}+1]}
/if (${Math.Calc[${Cleric_Int}+1]} > ${MaxCLR}) {
/varset Cleric_Int 1
} else {
/varset Cleric_Int ${Math.Calc[${Cleric_Int}+1]}
}
|Confirm that the next cleric in chain is available, cannot be you (if this is the case then it will reset down below in failed find checks)
/if (${Spawn[${Cleric_List.Arg[${Cleric_Int}]} pc].ID} && !${Spawn[${Cleric_List.Arg[${Cleric_Int}]} pc].Dead} && !${Spawn[${Cleric_List.Arg[${Cleric_Int}]} pc].Linkdead}) {
/varset NextClr ${Spawn[${Cleric_List.Arg[${Cleric_Int}]} pc].CleanName}
/if (${Spawn[${Cleric_List.Arg[${Cleric_Int}]} pc].ID} == ${Me.ID}) {
/varset CHDelay 13
/varset CHInterrupt 0
/echo \ar[WARNING] No other Cleric on list alive in zone! [WARNING]
}
/return
} else {
/goto :Find_Cleric
}
}
/next Cleric_Int
/varset NextClr NULL
/echo \ar[WARNING] No Cleric on list alive in zone! [WARNING]
/return[/CODE]

The difference from previous is including pc in arguments to the spawn search.
 
Rizlona Raiding Strats

Users who are viewing this thread

Back
Top
Cart