Function Offtank anti stress

Third party software discussion goes here.
User avatar
moguay
Posts: 170

Function Offtank anti stress

Post#1 » Thu Sep 28, 2017 7:40 pm

I found funny to add a filter in function a hp% and a timer to manage the auto disc rotation on offtank.

So launching a disc in auto is good, at the right time it's better. In addition the good disc is, No Country for Old Men.
At least, this can keep you from becoming as crazy as some old eq gamer.

Code: Select all

    | b=20% lower hp at 0s for disc on
    /declare b int local 20
    | a=(60% hp for 3s) curve slope
    /declare a float local ${Math.Calc[(60 - ${a}) / 3]}
   
    /if (!${Defined[iOffTankHp]})    /declare iOffTankHp      int     outer 0
    /if (!${Defined[tOffTankTime]})  /declare tOffTankTime    timer   outer 0
   
    | Disc on when life is out of timer (curve function)
    /if ((${iOffTankHp} && !${tOffTankTime})) /varset bOffTankDisk TRUE
    | Disc off if live up
    /if (${Me.PctHPs} > ${iOffTankHp}) /varset bOffTankDisk FALSE
    | Prio Disc on if < b:20%
    /if (${Me.PctHPs} < ${b}) /varset bOffTankDisk TRUE
   
    | Set timer and hp var
    /if (${Me.PctHPs} > ${iOffTankHp} || ${Math.Calc[(${Me.PctHPs} - ${b}) / ${a} * 10]} < ${tOffTankTime}) {
        /varset tOffTankTime ${Math.Calc[(${Me.PctHPs} - ${b}) / ${a}]}s
        /varset iOffTankHp ${Me.PctHPs}
    }


and the auto disc rotation sub code

Code: Select all

    /if (${bOffTankDisk}) {
        /if (!${Select[${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text},No Effect,Death's Guard Rk. III,Death's Guard Rk. II,Death's Guard Rk. I,Guardian's Call,Defensive Will,Defensive Discipline,Chaotic Defense]}) {
            /notify CombatAbilityWnd CAW_CombatEffectButton leftmouseup
            /delay 5 (${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]})
        }
       
        /if (${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]}) {
            /declare WarDiscNum int local
            /declare DiscName string local
            /declare DiscTimer string local
            /declare DiscChainName string local Defender's Guard Rk. III#500s|Defender's Guard Rk. II#550s|Defender's Guard Rk. I#600s|Rizoel, Blade of The Angel#600s|Rayin's Gauntlets of Abhorrence#600s|Immaculate Ring of Dolgrem#2700s|Ring for the Strong#3600s
            /for WarDiscNum 1 to ${Math.Calc[${DiscChainName.Count[|]} + 1]}
                /varset DiscName ${DiscChainName.Arg[${WarDiscNum},|].Arg[1,#]}
                /varset DiscTimer ${DiscChainName.Arg[${WarDiscNum},|].Arg[2,#]}
       
                /if (${FindItem[${DiscName}].ID} && ${FindItem[${DiscName}].InvSlot} && !${ChainDiscTimer${WarDiscNum}} && ${Cast.Ready[${DiscName}]}) {
                    /call AddCast "bag ${DiscName}" 0 first "ChainDiscTimer${WarDiscNum}=${DiscTimer}"
                    /varset bOffTankDisk FALSE
                    /return
                } else /if ((${Me.AltAbilityReady[${DiscName}]} || ${Me.CombatAbilityReady[${DiscName}]}) && !${ChainDiscTimer${WarDiscNum}}) {
                    /call AddCast "alt ${DiscName}" 0 first "ChainDiscTimer${WarDiscNum}=${DiscTimer}"
                    /varset bOffTankDisk FALSE
                    /return
                }
            /next WarDiscNum
        }
    }
Attachments
OffTankCurve.jpg
OffTankCurve.jpg (20.94 KiB) Viewed 997 times

Return to “Third party software”

Who is online

Users browsing this forum: No registered users and 1 guest