Page 1 of 6

DruidBot (formerly RaidDruid)

Posted: Sat Mar 12, 2005 6:11 pm
by fallon
A_Druid_00 has retired, and left us with an exclent macro in need of maintnance. DruidBot is my attempt to maintain that macro.

Please submit questions, comments & especially code patches in this thread.

I'm not as good of a coder or programer as A_Druid_00, but I will do my best to maintain his work.

Updates:
v1.1
Think I got all of the group.member fixes in, not sure what happened on the last one.
Updated docs for /cold bug
Updated docs for hand start/pause hotkey
Updated a few more names to reflect the new macro name (DruidBot.mac now)

Known issues:
Need to updat the UI for the new name

To Do:
Shamy/necro anti-cann heal limits.

Documentation is located at: http://www.fallonz.com/EQ/DruidBot.html
Macro is located at: http://www.fallonz.com/EQ/DruidBot_1_1.zip (it has subirectories, so extract with path info)

Posted: Sat Mar 12, 2005 6:15 pm
by fallon
Reserved for future use.

Posted: Sat Mar 12, 2005 6:15 pm
by fallon
Reserved for future use.

Posted: Sat Mar 12, 2005 6:15 pm
by fallon
Reserved for future use.

Posted: Sat Mar 12, 2005 6:16 pm
by fallon
Reserved for future use.

Posted: Sun Mar 13, 2005 2:10 am
by Lacky
Good Luck Man.... I will try to help out since I am working on my druid again.

Posted: Tue Mar 15, 2005 5:49 am
by Geekylad
Great news Fallon! 3> this mac.

If I may make a suggestion... that the PoTime Orb (http://everquest.allakhazam.com/db/item.html?item=21179) be slotted in here somewhere.

Posted: Tue Mar 15, 2005 10:41 am
by Druidpwn
IF i get the jist of your post right, this is what you want:

Code: Select all

DoT5=Orb of Clinging Death
DoTIcon5=Swarming Death
DoTGem5=item 
DoTSpellSet5=0 
its just a change you need to make in your .INI. this is what it would look like if you used the spell out of your spell book.

Code: Select all

DoT2=Swarming Death
DoTIcon2=Swarming Death 
DoTGem2=gem2
DoTSpellSet2=0 
hope i answer your question. i personally still use RaidDruid, just modified for myself. i havent tried fallon's version.

Posted: Tue Mar 15, 2005 1:48 pm
by A_Druid_00
Thanks for taking this over Fallon, I hated the idea of RD getting retired along with me. If you do half as good a job at keeping the code up as you did with the documentation, RD should be in good hands.

On the subject of the healing NPCs.... If you have AssistMA toggled on and UseCH as well, it will appear as if the bot is trying to heal the NPC (Yes, it will even screw the /echo up and put the mob's name). But, as long as no one's screwed up the heal logic, it does wait until the heal starts casting on the Target PC before moving back to the mob and monitoring the HPs. I did quite extensive testing in PoFire and Riftseekers with this code and never once had it land a heal on an NPCm despite telling me that it was with the echoes.

The only reason I added verbosity to RD at all was to make the other users of RD happy, so I never really tested it thoroughly enough to make sure that the messages were getting across correctly. I just knew they worked good enough to get the point across in group/raid situations.

If you need any help with code, feel free to PM with parts you get sutck on and/or questions about why RD does what it does. I know that some of the functions like DA checking can be rather confusing if you aren't proficient at macro writing (I know because I had a hell of a time getting the logic right myself).

Posted: Tue Mar 15, 2005 1:58 pm
by A_Druid_00
Oh and Druidpwn > Geekylad

Posted: Tue Mar 15, 2005 3:27 pm
by Geekylad
yeah yeah, i know :)

... still learning.

Posted: Tue Mar 15, 2005 3:36 pm
by fallon

hope i answer your question. i personally still use RaidDruid, just modified for myself. i havent tried fallon's version.
As of yet, all I've done is fix the ${Group[${i}].PctHPs} to ${Group.Member[${i}].Spawn.PctHPs} thing & a few name changes.

The verbosity is pretty handy for troubleshooting, on the buffs at least, it's 100% accurate on notifying you about who it's buffing (the right person, or the mob). I'm reasonably sure that the heals are the same way, although I need to do a bit of debugging.

Posted: Wed Mar 16, 2005 2:14 pm
by A_Druid_00
Yeah, I think my heal announcements are OK. It's the casting announcements from spell_routines that were off now that I think about it. I went through a lot of trouble to make sure the announcements were spot on and I wasn't caught casting NULL on NULL with RD's announcements. I think I have an improved version of spell_routines on my hard drive somewhere too, which fixes a couple issues like spam casting while FD without standing up and I *think* I had it's announcements reworked too.

Posted: Wed Mar 16, 2005 6:53 pm
by Rambo
There is a small error in your documentation. Under nukes where it says /ice it should say /cold. Great macro by the way and a big thank you to everyone involved with it.

Ui

Posted: Wed Mar 16, 2005 11:06 pm
by Lacky
Updated the Hud to work with the new Group shtuff...

Code: Select all

[RaidDruid]
SpellCast=   3,550,400,255,255,000,${If[${Me.Casting.ID}>0,${Me.Casting} (${Target.CleanName} ),]}
ItemName=    7,-15,-15,255,255,255,${If[${Cursor.ID},${Cursor},]}
TargetDist=  3,005,040,255,255,255,Target Distance: ${Target.Distance}
HP Regen=    3,005,050,255,000,000,HP Regen: ${Me.HPRegen}
Mana Regen=  3,005,060,000,000,255,Mana Regen: ${Me.ManaRegen}
Tribute=     3,005,070,255,255,255,Tribute Points: ${Me.CurrentFavor}
GroupXP=     3,005,080,255,255,255,LAA XP: ${Float[${Me.PctGroupLeaderExp}]}%
Raid=        3,005,090,180,180,180,Raid Leader: ${Raid.Leader}
Tell=        3,005,100,255,255,255,LastTell: ${MacroQuest.LastTell}
Macro=       3,005,110,255,255,000,Macro: ${Macro.Name}
Leader=      3,005,120,180,180,180,Group Leader: ${Group.Leader.Name}
AA=          3,005,130,255,255,255,~~~~~~ Alt Ability ~~~~~~
MGBAA=       3,005,140,255,255,000,Mass Group Buff - - - -
MGBready=    3,120,140,000,255,000,${If[${String[${Me.AltAbilityReady[Mass Group Buff]}].Equal["TRUE"]},Ready,]}
MGBnotready= 3,120,140,255,000,000,${If[${String[${Me.AltAbilityReady[Mass Group Buff]}].Equal["TRUE"]}, ,Available in ${Me.AltAbilityTimer[Mass Group Buff].TimeHMS}]}
SWAAtext=    3,005,150,255,255,000,Spirit of the Wood  - - -
SWready=     3,120,150,000,255,000,${If[${String[${Me.AltAbilityReady[Spirit of the Wood]}].Equal["TRUE"]},Ready,]}
SWnotready=  3,120,150,255,000,000,${If[${String[${Me.AltAbilityReady[Spirit of the Wood]}].Equal["TRUE"]}, ,Available in ${Me.AltAbilityTimer[Spirit of the Wood].TimeHMS}]}
RCAA=        3,005,160,255,255,000,Radiant Cure - - - - - - -
RCready=     3,120,160,000,255,000,${If[${String[${Me.AltAbilityReady[Radiant Cure]}].Equal["TRUE"]},Ready,]}
RCnotready=  3,120,160,255,000,000,${If[${String[${Me.AltAbilityReady[Radiant Cure]}].Equal["TRUE"]}, ,Available in ${Me.AltAbilityTimer[Radiant Cure].TimeHMS}]}
WWAA=        3,005,170,255,255,000,Wrath of the Wild - - - -
WWready=     3,120,170,000,255,000,${If[${String[${Me.AltAbilityReady[Wrath of the Wild]}].Equal["TRUE"]},Ready,]}
WWnotready=  3,120,170,255,000,000,${If[${String[${Me.AltAbilityReady[Wrath of the Wild]}].Equal["TRUE"]}, ,Available in ${Me.AltAbilityTimer[Wrath of the Wild].TimeHMS}]}
DCAA=        3,005,180,255,255,000,Dire Charm  - - - - - - - -
DCready=     3,120,180,000,255,000,${If[${String[${Me.AltAbilityReady[Dire Charm]}].Equal["TRUE"]},Ready,]}
DCnotready=  3,120,180,255,000,000,${If[${String[${Me.AltAbilityReady[Dire Charm]}].Equal["TRUE"]}, ,Available in ${Me.AltAbilityTimer[Dire Charm].TimeHMS}]}
EXAA=        3,005,190,255,255,000,Exodus - - - - - - - - - - -
EXready=     3,120,190,000,255,000,${If[${String[${Me.AltAbilityReady[Exodus]}].Equal["TRUE"]},Ready,]}
EXnotready=  3,120,190,255,000,000,${If[${String[${Me.AltAbilityReady[Exodus]}].Equal["TRUE"]}, ,Available in ${Me.AltAbilityTimer[Exodus].TimeHMS}]}
RDPauseOn=   3,005,200,255,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${RDPause},,*****RAID DRUID PAUSED*****]},]}
nukehud1=    3,005,210,255,000,000,${If[${WhichNuke}==1,Nuke Spell: ${MyNukes[1]},]}
nukehud2=    3,005,210,000,000,255,${If[${WhichNuke}==2,Nuke Spell ${MyNukes[2]},]}
MA1=         3,005,220,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Main Assist: ${MA1},]}
MA2=         3,005,230,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Second Assist: ${MA2},]}
MA3=         3,005,240,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Third Assist: ${MA3},]}
RampTank=    3,005,250,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Ramp Tank: ${RampTank},]}
AEHealOn=    3,005,260,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${AEHeal},AE Healing,]},]}
AEHealOff=   3,005,260,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${AEHeal},,AE Healing]},]}
AssHealOn=   3,005,270,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${AssistHeal},Assist Healing,]},]}
AssHealOff=  3,005,270,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${AssistHeal},,Assist Healing]},]}
AssMAOn=     3,005,280,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${AssistMA},Assist MA,]},]}
AssMAOff=    3,005,280,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${AssistMA},,Assist MA]},]}
AutoNinjaOn= 3,005,290,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${AutoNinja},Auto Ninja,]},]}
AutoNinjaOff=3,005,290,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${AutoNinja},,Auto Ninja]},]}
AutoSitOn=   3,005,300,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${AutoSit},Auto Sit,]},]}
AutoSitOff=  3,005,300,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${AutoSit},,Auto Sit]},]}
DebuffOn=    3,005,310,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoDebuffs},Debuffing,]},]}
DebuffOff=   3,005,310,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoDebuffs},,Debuffing]},]}
DoTOn=       3,005,320,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoDoTs},DoTs,]},]}
DoTOff=      3,005,320,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoDoTs},,DoTs]},]}
GHealOn=     3,005,330,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${HealGroup},Group Healing,]},]}
GHealOff=    3,005,330,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${HealGroup},,Group Healing]},]}
InterruptOn= 3,005,340,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${Stop4Pad},Interrupts,]},]}
InterruptOff=3,005,340,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${Stop4Pad},,Interrupts]},]}
NukeOn=      3,005,350,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoNukes},Nukes,]},]}
NukeOff=     3,005,350,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoNukes},,Nukes]},]}
RampHealOn=  3,005,360,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoRamp},Ramp Healing,]},]}
RampHealOff= 3,005,360,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoRamp},,Ramp Healing]},]}
RCOn=        3,005,370,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoRC},RC,]},]}
RCOff=       3,005,370,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoRC},,RC]},]}
RodsOn=      3,005,380,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${ClickRods},Rod Clicks,]},]}
RodsOff=     3,005,380,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${ClickRods},,Rod Clicks]},]}
SelfBuffOn=  3,005,390,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${SelfBuffs},Self Buff,]},]}
SelfBuffOff= 3,005,390,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${SelfBuffs},,Self Buff]},]}
SnareOn=     3,005,400,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoSnare},Snare,]},]}
SnareOff=    3,005,400,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoSnare},,Snare]},]}
SotWOn=      3,005,410,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoSotW},SotW,]},]}
SotWOff=     3,005,410,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoSotW},,SotW]},]}
UseEpicOn=   3,005,420,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${UseEpic},Use Epic,]},]}
UseEpicOff=  3,005,420,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${UseEpic},,Use Epic]},]}
UseMountOn=  3,005,430,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${UseMount},Use Mount,]},]}
UseMountOff= 3,005,430,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${UseMount},,Use Mount]},]}
WolfOn=      3,005,440,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoWolf},Wolf,]},]}
WolfOff=     3,005,440,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoWolf},,Wolf]},]}
WoWOn=       3,005,450,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoWoW},WoW,]},]}
WoWOff=      3,005,450,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DoWoW},,WoW]},]}
CancelPct=   3,005,460,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Cancel Heals: ${CancelPct}% HPs,]}
HealAtPct=   3,005,470,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Heal At: ${HealPct}% HPs,]}
SotWPct=     3,005,480,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},SotW At: ${SotWPct}% average HPs,]}
MedAtPct=    3,005,490,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Sit to Med Pct: ${MedPct}% Mana,]}
SitDelay=    3,005,500,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Delay Before Sitting: ${SitDelay},]}
RodMana=     3,005,510,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Eat Rods At: ${RodMana}% Mana,]}
StopPct=     3,005,520,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Stop to Med Pct: ${NukePctMana}% Mana,]}
EngagePct=   3,005,530,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Engage Pct: ${EngageHPs}% HPs,]}
DoTMinPct=   3,005,540,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Stop DoTs At: ${DoTMinHPs}% HPs,]}
StopAtPct=   3,005,550,255,255,255,${If[${Macro.Name.Equal["raiddruid.mac"]},Stop Nukes at Pct: ${StopHPs}% HPs,]}
DAList=      3,005,560,255,255,255,~~~~~~ DA List ~~~~~~
G1DAOn=      3,005,570,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DAArray[1,2]},${Group.Member[0].CleanName},]},]}
G1DAOff=     3,005,570,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DAArray[1,2]},,${Group.Member[0].CleanName}]},]}
G2DAOn=      3,005,580,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DAArray[2,2]},${Group.Member[1].CleanName},]},]}
G2DAOff=     3,005,580,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DAArray[2,2]},,${Group.Member[1].CleanName}]},]}
G3DAOn=      3,005,590,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DAArray[3,2]},${Group.Member[2].CleanName},]},]}
G3DAOff=     3,005,590,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DAArray[3,2]},,${Group.Member[2].CleanName}]},]}
G4DAOn=      3,005,600,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DAArray[4,2]},${Group.Member[3].CleanName},]},]}
G4DAOff=     3,005,600,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DAArray[4,2]},,${Group.Member[3].CleanName}]},]}
G5DAOn=      3,005,610,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DAArray[5,2]},${Group.Member[4].CleanName},]},]}
G5DAOff=     3,005,610,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DAArray[5,2]},,${Group.Member[4].CleanName}]},]}
G6DAOn=      3,005,620,000,255,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DAArray[6,2]},${Group.Member[5].CleanName},]},]}
G6DAOff=     3,005,620,255,000,000,${If[${Macro.Name.Equal["raiddruid.mac"]},${If[${DAArray[6,2]},,${Group.Member[5].CleanName}]},]}
Is there anything in particular you need help with Fallon? I will probably be using this macro alot in the next couple of weeks atleast, And would be more than willing to help you out :)