• 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

Fork / Mod Fix for engaging Giants when pulling (1 Viewer)

Joined
May 17, 2015
RedCents
6,058¢
Noticed often if I am fighting big monsters like Giants when my tank pulls he will sit there and wait while the giant beats on him.
This is because there is a hard coded >=20 distance, which works as most things can attack you around there.

I changed it to use >=${Math.Calc[${Target.MaxRange}+5]} instead of >=20

Here is my full WaitForMob so you can see where i switched to ${Math.Calc[${Target.MaxRange}+5


Rich (BB code):
Sub WaitForMob
        /if (${Select[${Role},hunter,hunterpettank]} || ${DPSPaused}) /return
        /if (${DebugPull}) /echo \atDEBUGPULL WaitForMob Enter \agLine#: ${Macro.CurLine}
        /varset WaitTimer 30s
        /if (${Pulled}) {
            /if (${DebugPull}) /echo \atDEBUGPULL WaitForMob Waiting for mob \agLine#: ${Macro.CurLine}
            /call DoWeMove
            /delay 60s ${Math.Distance[${Me.Y},${Me.X}:${CampYLoc},${CampXLoc}]}<=${CampRadius}
            /if (${ChainPull}) /varset LastMobPullID ${Target.ID}
            /declare FaceTimer timer local 0
            /if (${InvSlot[ranged].Item.Name.NotEqual[${OrigRanged}]} && ${OrigRanged.NotEqual[null]}) {
                /call CheckCasting 50
                /exchange "${OrigRanged}" ranged
            }
            :WaitForMob
                /if (${FaceMobOn} && ${Target.ID} && (${Me.Standing} || ${Me.Mount.ID})) /face nolook
                /doevents
                /call MobRadar ${CampRadius} WaitForMob
                | If NOT chain pulling and multiple mobs in camp. /return
                /if (${MobCount}>=2 && !${ChainPull}) {
                    /call PullReset
                    /return
                } 
				/if (${DebugPull}) /echo \atDEBUGPULL - WaitTimer: ${WaitTimer} Mob Dist from Camp: ${Math.Distance[${Spawn[${MyTargetID}].Y},${Spawn[${MyTargetID}].X}:${CampYLoc},${CampXLoc}]}>=${CampRadius} Mob Dist from tank: ${Math.Distance[${Spawn[${MyTargetID}].Y},${Spawn[${MyTargetID}].X}:${Me.Y},${Me.X}]}>=20 \agLine#: ${Macro.CurLine}
                | if target lost somehow add to ignore list and continue pulls
                /if ((!${AggroTargetID} && !${ChainPull}) || ${WaitTimer}==0) {
                    /if (${DebugPull}) /echo \atDEBUGPULL WaitForMob /return no AggroTargetID \agLine#: ${Macro.CurLine}
                    /squelch /alert add 1 id ${Target.ID}
                    /call PullReset
                    /return
                }
                /varset FaceTimer 1s
				/delay 1s
                | I am PULLER with PET TANK            
                /if (${Select[${Role},pullerpettank]}) {
                    |- Make sure pet is returning to camp with me.
                    /if (${Me.Pet.ID} && ${Math.Distance[${Me.Pet.Y},${Me.Pet.X}:${CampYLoc},${CampXLoc}]}>${CampRadius} && ${Math.Distance[${Me.Pet.Y},${Me.Pet.X}:${Me.Y},${Me.X}]}>20) {
                        /pet back off
                        /delay 10
                        /pet follow
                    } 
                    | If the mob is within pet attack distance from camp send the pet in to attack
                    /if (${Math.Distance[${CampYLoc},${CampXLoc}:${Spawn[${MyTargetID}].Y},${Spawn[${MyTargetID}].X}]}>=${PetAttackRange}) /goto :WaitForMob
                    /if (!${PetAttack}) /call CombatPet
                }
                | I am PULLER TANK
                /if (${Select[${Role},pullertank]}) {
					| Wait in camp for mob if timer active and mob is outside of camp radius and mob is farther away from tank than 20 feet
					/if (${WaitTimer} && ${Math.Distance[${Spawn[${MyTargetID}].Y},${Spawn[${MyTargetID}].X}:${CampYLoc},${CampXLoc}]}>=${CampRadius} && ${Math.Distance[${Spawn[${MyTargetID}].Y},${Spawn[${MyTargetID}].X}:${Me.Y},${Me.X}]}>=${Math.Calc[${Target.MaxRange}+5]}) /goto :WaitForMob
                }
                | If I am PULLER and NOT chain pulling
                /if (${Select[${Role},puller]} && !${ChainPull}) {
                    /if (${Math.Distance[${CampYLoc},${CampXLoc}:${Spawn[${MyTargetID}].Y},${Spawn[${MyTargetID}].X}]}>=${CampRadius} && ${Math.Distance[${Spawn[${MyTargetID}].Y},${Spawn[${MyTargetID}].X}:${Spawn[=${MainAssist}].Y},${Spawn[=${MainAssist}].X}]}>=${Math.Calc[${Target.MaxRange}+5]}) /goto :WaitForMob
                    /if (${MercOn} && !${MercAssisting} && ${MyTargetID} && ${Mercenary.State.Equal[Active]}) /call MercsDoWhat
                }
                | If I am PULLER and chain pulling
                /if (${Select[${Role},puller]} && ${ChainPull}) {
                    | Leave if multi mobs or no mobs 
                    /if (${MobCount}>=2 || !${MyTargetID} || (${Me.XTarget[${XTSlot}].ID} && ${Me.XTarget[${XTSlot2}].ID})) { 
                        /call PullReset
                        /return
                    }
                    /if (${Math.Distance[${Spawn[${MyTargetID}].Y},${Spawn[${MyTargetID}].X}:${Spawn[=${MainAssist}].Y},${Spawn[=${MainAssist}].X}]}>20 && ${Target.ID}==${Spawn[${MyTargetID}].ID} && ${Me.TargetOfTarget.ID}==${Me.ID}) /goto :WaitForMob                 
                }
        }
        /if (${Group}==1 && ${Select[${Role},puller]} && ${Group.Puller.Name.Equal[${Me}]} && ${Spawn[=${MainAssist}].Type.Equal[Mercenary]} && ${Spawn[${MyTargetID}].Distance}<=${MeleeDistance}) /call AssignGroupRole unset "${Me.CleanName}" 3            
        /if (${MyTargetID} && (!${AggroTargetID} && !${ChainPull}) || (!${Me.XTarget[${XTSlot2}].ID} && ${Me.XTarget[${XTSlot}].ID}!=${MyTargetID} && ${ChainPull})) /call PullReset
        /if (${IAmABard}) /call DoBardStuff
		/varset WaitTimer 0
        /call MercsDoWhat
        /if (${DebugPull}) /echo \atDEBUGPULL WaitForMob Leave \agLine#: ${Macro.CurLine}
     /return
 
I did this to my stickhow in Kissassist_toon.ini back when i was fighting giants and it worked well

Rich (BB code):
[Melee]
AssistAt=100
MeleeOn=1
FaceMobOn=1
MeleeDistance=75
StickHow=front 12
AutoFireOn=0
 
Problem was engaging if tank is puller... tank will sit there because Giant is not >=20 distance until the pull timer runs out, then it checks if anything is agro and then agro's =)
 
awesome! I use my tank to pull and tank and know this problem to well.

thanks fpr the fix.. will give it a shot later!
 
Fork / Mod Fix for engaging Giants when pulling

Users who are viewing this thread

Back
Top
Cart