• 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

Problem - TBM Blight zone wide buff

Joined
Jul 18, 2015
RedCents
1,769¢
In the TBM zones where you have the zone wide buff that lowers everyones hitpoints/mana/endurance, if you ever fall below the point where the puller decides to stop pulling till you med up, you will have to reset the puller or it'll never pull again.

Puller waiting on medding up to 90%. Zone wide buff caps you at 70%.
 
I turned off watch on the puller. Pretty low effort zone and not planning on staying there any longer than need be and if it gets looked at and fixed cool, if not no worries. I just like making problems known and didn't see this one posted about before.
 
Actually other thing i notice when my grp is in here.. my healer wants to constantly heal toons.. cuz their health sags below 80% and now hes always spamming heals..

im running kiss on all toons.. but I thought something was coded into the macro regarding these zones for this...?
 
Here you can try this if you want. Just replace the whole DoWeMed routine with this: I created a MedStop variable and set it to 100 by default and to 70 if in one of those zones.

I haven't tested this yet, but it should work fine, just rename your current DoWeMed routine to something like DoWeMedOld and then paste in the below code after the renamed routine. It is always a good idea to make a copy of your current macro before adding changes.

Rich (BB code):
    Sub DoWeMed
        /if (!${MedOn}) /return
        /if (!${MedCombat} && ${AggroTargetID}) /return
        /if (${MedCombat} && !${Medding} && ${AggroTargetID}!=0 && ${AggroTargetID}==${MyTargetID}) /return
        /if (${Debug}) /echo \atDEBUG DoWeMed Enter \agLine#: ${Macro.CurLine}
        /declare Med2On int local 0
        /declare MedForceOn int local 0
        /declare MedStat1 string local ${MedStat}
		/declare MedStop int local 100
        /declare j int local 0
		/if (${Select[${Zone.ID},795,796]}>0) /varset MedStop 70
        /if (${Select[${Me.Class.ShortName},BST,BRD,CLR,DRU,ENC,MAG,NEC,PAL,RNG,SHM,SHD,WIZ]}) /varset MedStat Mana
        /if (${Select[${Me.Class.ShortName},BER,MNK,ROG,WAR]}) /varset MedStat Endurance
        /if (!${Me.Moving}) {
            /if (${Select[${Me.Class.ShortName},BST,PAL,RNG,SHD]} && ${Me.Pct${MedStat2}}<${MedStart} && ${Me.Pct${MedStat}}>${MedStart})  {
                /varset MedStat1 ${MedStat}
                /varset MedStat ${MedStat2}
                /varset Med2On 1
            }
            /if (${Group.MainAssist.ID} && ${Group.MainAssist.Sitting}) {
                /if (!${MASitTime}) {
                    /varset MASitTime 300            
                } else /if (${MASitTime}<260) {
                   /varset MedForceOn 1
                }
            } else {
                /varset MASitTime 0
            }
            /if (${Me.Pct${MedStat}}<${MedStart} || (${ChainPullHold}==2 && ${Me.Pct${MedStat}}<${MedStop}) || (${MedForceOn} && ${Me.Pct${MedStat}}<${If[${MedStop}==100,90,68]} && !${Role.Find[puller]} && !${MedCombat})) {
                /squelch /tar clear
                /varset Medding 1
                /if (${Attacking}) /call CombatReset
                /if (${Select[${Role},puller,pullertank,pullerpettank,hunter,hunterpettank]}) /call BroadCast ${IRCOn} ${EQBCOn} t "PULLER-> My ${MedStat} is ${MedStart}% time to med. ${MedStat} ${Me.Pct${MedStat}} ${ChainPullHold} ${MedStop}"
                | bards twisting while others fighting negate fast med 
                /if (${IAmABard} && ${AggroTargetID}) {
                    /if (${Twist}) /squelch /twist off
                    /delay 10
                    /squelch /twist ${TwistMed}
                }
                /if (${Medding}) /echo Medding until ${MedStat} ${MedStop}%
                /if (${Me.Pct${MedStat}}<${MedStart}) /call BroadCast ${IRCOn} ${EQBCOn} t "My ${MedStat} is ${MedStart}% time to med."
            :wait_for_resume
                    /doevents
                    /if (${ReturnToCamp} && ${Math.Distance[${CampYLoc},${CampXLoc}]} > 15) {
                        /call DoWeMove
                    }
                    /if (!${Me.Mount.ID} && ${Me.Standing}) /sit                    
                    /if (${Debug}) /echo \atDEBUG ${MedStat} ${MedStat1} ${MedStat2} \agLine#: ${Macro.CurLine}
                    |/delay 10
                    |/call CheckCasting 50
                    /delay 10
                    /if (!${MedCombat}) {
                        /call WaitSubs
                        /call CheckForCombat 1 DoWeMed
                        /if (${AggroTargetID}) {
                            /if (${Med2On}) /varset MedStat ${MedStat1}
                            /varset Medding 0
                            /return
                        }
                    }
                    /if (${Me.Pct${MedStat}}<${MedStop}) /goto :wait_for_resume
                :done_medding
                /if (${Med2On}) /varset MedStat ${MedStat1}
                /varset Medding 0
                /if (${Me.Sitting}) /stand
                /if (${IAmABard} && ${TwistMed}) /stopsong
            }
            /if (${Select[${Role},pullerpettank,puller,hunter,hunterpettank]} && ${Me.PctHPs}<=50) {
                /echo Medding to 100% health
                /if (!${Me.Mount.ID} && !${Me.Sitting}) /sit
                :WaitFor100
                    /doevents
                    /if (${ReturnToCamp} && ${Math.Distance[${CampYLoc},${CampXLoc}]} > 15) {
                        /if (!${Me.Mount.ID} && ${Me.Sitting}) /stand
                        /call DoWeMove
                    }
                    |/delay 10
                    |/call CheckCasting 50
                    /delay 5
                    /if (!${MedCombat}) {
                        /call WaitSubs
                        /call CheckForCombat 1 DoWeMed
                        /if (${AggroTargetID}) {
                            /varset Medding 0
                            /return
                        }
                    }
                /if  (${Me.PctHPs}<${MedStop}) /goto :WaitFor100
                /if (!${Me.Mount.ID} && ${Me.Sitting}) /stand
            }
            /if (${Select[${Role},pullerpettank,hunterpettank]} && !${Me.Invis} && (${Me.Pet.PctHPs}<=50 || ${PetForceHealOnMed})) {
                | Check pet is at full health before pulling.  
                /echo Waiting on pet to full health before next pull        
                /if (${Me.Pet.ID} && ${Me.Pet.PctHPs}<${MedStop}) {                
                    :WaitingOnPetHealth
                    /for j ${SingleHeal.Size} downto 1
                        /if (${SingleHeal[${j}].Arg[3,|].NotEqual[pet]} || !${SingleHeal[${j}].Length} || ${SingleHeal[${j}].Arg[2,|]}==0) /continue
                        /if (${Me.Pet.ID} && ${Me.Pet.Distance}<${Spell[${SingleHeal[${j}].Arg[1,|]}].Range}) {
                            /if (${Debug}) /echo \amDEBUG DoPetMedStuff (${SingleHeal[${j}].Arg[3,|].Find[PET]} && ${Me.Pet.PctHPs}<=${HealPct} && ${Me.Pet.ID} && ${Me.Pet.Distance}<${Spell[${SingleHeal[${j}].Arg[1,|]}].Range}) \agLine#: ${Macro.CurLine}
                            /call CastWhat "${SingleHeal[${j}].Arg[1,|]}" ${Me.Pet.ID} Med
                            /if (${Macro.Return.Equal[CAST_SUCCESS]}) {
                                /call BroadCast ${IRCOn} ${EQBCOn} o "${Heals[${j}].Arg[1,|]} on  >> ${Me.Pet.CleanName} <<"
                                /varcalc PetHealTimer${j} (${Spell[${SingleHeal[${j}].Arg[1,|]}].Duration.TotalSeconds}*${DurationMod})*10
                            }
                            /break
                        }
                        |:NextPetHeal
                    /next j
                    /if (${Me.Pet.ID} && ${Me.Pet.PctHPs}<${MedStop} && !${AggroTargetID}) {
                        /delay 6s
                        /goto :WaitingOnPetHealth
                    }
                }  
            }             
        }
        /if (${Debug}) /echo \atDEBUG DoWeMed Leave \agLine#: ${Macro.CurLine}
    /return
 
Problem - TBM Blight zone wide buff

Users who are viewing this thread

Back
Top
Cart