Updates.
I have made many many many changes to Shambot v4.43.
I want to post the updated macro and ini here... but want to make sure it is ok with Maskoi.
If I get an OK from him to post it... i will detail the new variables and how they work/should be defined.
UPDATE:
I have not heard anything from Maskoi, so I am going to post my changed file and let the community here do what they want with it. All my updates are made upon the base of Maskoi's v4.43.
Detailed changes:
1) Labeled every Sub routine with beginning and ending markers for easier seperation/location in code.
2) Moved all event subs to the end of the macro.
3) Added sub for self clarity check (Sub SelfClarityCheck)
4) Added sub for clicky maint (Sub DoClickies).
5) Added sub for distance check (Sub CheckMovDist) / tie in to movement and new leash function.
6) Added functions to main loop for:
Pulling mobs in radius
Doing melee to assist in combat
Leashing
Clicky Maintenance
SelfClarityCheck
7) Corrected mount sub to not attempt to cast mount while in combat (CombatState)!
Old Line:
Code:
/if (!${Me.Mount.ID} && ${OutDoors} && ${DoMount} && !${DoPactAA}) /call Mount
New Line:
Code:
/if (!${Me.CombatState.Equal[COMBAT]} && !${Me.Mount.ID} && ${OutDoors} && ${DoMount} && !${DoPactAA}) /call Mount
8) Altered chat channel joining function to not leave all channels, and to
only join chant channels and do initial channel tells if DoChatChannel setting is active.
Old Code:
Code:
/if (${Defined[Param1]}) /varset ChatChannel ${Param1}
/leaveall
/if (${ChatChannel.Find[bc]}) {
/varset ChatHere bc
} else {
/varset ChatHere 1
/join ${ChatChannel}
}
/if (${DoChatChannel}) /${ChatHere} I am here!
/echo Joined channel ${ChatChannel}
/if (${Defined[Param2]}) /varset ChatController ${Param2}
/vtell ${ChatController} 005
/tell ${ChatController} I am here!
/echo My master is ${ChatController}
New Code:
Code:
/if (${DoChatChannel}) {
/if (${Defined[Param1]}) /varset ChatChannel ${Param1}
|/leaveall
/if (${ChatChannel.Find[bc]}) {
/varset ChatHere bc
} else {
/varset ChatHere 1
/join ${ChatChannel}
/echo Joined channel ${ChatChannel}
}
/if (${DoChatChannel}) /${ChatHere} I am here!
/if (${Defined[Param2]}) /varset ChatController ${Param2}
/vtell ${ChatController} 005
/tell ${ChatController} I am here!
/echo My master is ${ChatController}
}
9) Updated Sub LoadIni to call newly defined variables for the new subs/functions added.
/call LoadIni General DoClickMaint int 0
/call LoadIni General DoMelee int 0
/call LoadIni General DoLeash int 0
/call LoadIni General DoWarp int 0
/call LoadIni General DoCrackCheck int 0
/call LoadIni General DoPullTarget int 0
/call LoadIni General PullRadius int 70
/call LoadIni General PullZRadius int 15
Note:
DoClickMaint requires MQ2ClickMaint plugin
DoMelee is simply to start melee combat and assist main tank after all shaman spells are cast. (Work on melee skills)
DoLeash and its sub (CheckMovDist) requires inclusion of Move.inc
DoWarp check requires MMObugsWarp and is only called is DoLeash is active, and is used with DoWarp active as the method to return to leashpoint if you do not want to walk.
DoCrackCheck used to control sub (SelfClarityCheck), only uses best crack potion if no chanter buff is present.
DoPullTarget is used to pull targets with single target slow spell. (Used for lower level shaman+merc tank afk scenarios)
PullRadius and PullZRadius are the radius and Zradius for pulling.
10) Updated Variable structure to create new variable entries if first time ini creation.
11) Changed ini calls to create/use Shambot_YOURTOON.ini format instead of ShambotYOURTOON.ini
12) Prior disabled code for EPic 1.5/2.0 and other item usage has been re-enabled since functionality was restored with updated Spell_Routines.ini / Mq2Exchange /mq2bagwindow
Note: Additional variables for new functions/subs require updating/replacing your current ini
to accomodate new variables.