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
}
}