////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////PVP FUNCTION///////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////// F: isDisabled(obj) = (isStunned(obj) \ or isMedused(obj) \ or isTranced(obj) \ or isAnchored(obj) \ or isAfraid(obj) \ or (effectTime(obj,$FatalSleep) > 0) \ or (effectTime(obj,$MassFatalSleep) > 0) \ or (effectTime(obj,$AerialYoke) > 0) \ or (effectTime(obj,10026) > 0) \ or (effectTime(obj,10027) > 0) \ or (effectTime(obj,10514) > 0) \ or (effectTime(obj,$Exile) > 0) \ or (effectTime(obj,$MassExile) > 0) \ or (effectTime(obj,$DarkParalysis) > 0) \ or (effectTime(obj,$Transform) > 0) \ or (effectTime(obj,$Petrify) > 0) \ or (effectTime(obj,$LightningRoot) > 0) \ or (effectTime(obj,$HellBinding) > 0) \ or (effectTime(obj,$MassHellBinding) > 0) \ or (effectTime(obj,$HeroicGrandeur) > 0) \ or (effectTime(obj,$ShieldImpact) > 0) \ or (effectTime(obj,$ShieldWave) > 0) \ or (effectTime(obj,$DeathFear) > 0) \ or (effectTime(obj,$ImpactShot) > 0) \ or (effectTime(obj,$YokeStatus7) > 0) \ or (effectTime(obj,$HeroicDread) > 0) \ or (effectTime(obj,$Hide) > 0)) F: GoodStatus(obj) = alive(me) and pmp(me) > 2 and alive(obj) and not isDisabled(me) and not isDisabled(obj) F: SkillReady(obj) = not skillCoolTime(obj) and not nowCasting and skillLevel(obj) > 0 F: Debuffed(obj) = effectTime(obj,$MarkOfLumi) > 0 \ or effectTime(obj,11780) > 0 \ or effectTime(obj,11781) > 0 \ or effectTime(obj,11769) > 0 \ or effectTime(obj,10801) > 0 \ or effectTime(obj,10804) > 0 \ or effectTime(obj,10802) > 0 \ or effectTime(obj,10258) > 0 \ or effectTime(obj,10514) > 0 \ or effectTime(obj,11259) > 0 \ or effectTime(obj,11260) > 0 \ or effectTime(obj,11261) > 0 \ or effectTime(obj,11262) > 0 \ or effectTime(obj,11029) > 0 \ or effectTime(obj,11047) > 0 \ or effectTime(obj,10539) > 0 \ or effectTime(obj,11509) > 0 \ or effectTime(obj,11513) > 0 \ or effectTime(obj,11546) > 0 \ or effectTime(obj,10263) > 0 \ or effectTime(obj,11273) > 0 \ or effectTime(obj,11276) > 0 \ or effectTime(obj,11296) > 0 \ or effectTime(obj,10012) > 0 \ or effectTime(obj,10011) > 0 \ or effectTime(obj,10026) > 0 \ or effectTime(obj,10027) > 0 \ or effectTime(obj,10769) > 0 \ or effectTime(obj,11050) > 0 \ or effectTime(obj,11051) > 0 \ or effectTime(obj,11052) > 0 \ or effectTime(obj,11053) > 0 \ or effectTime(obj,10516) > 0 \ or effectTime(obj,10529) > 0 \ or effectTime(obj,11539) > 0 \ or effectTime(obj,11537) > 0 \ or effectTime(obj,11580) > 0 ////////////// char functors ///////////////// ///////////////////////////////////////////////////////////////////////////////////// F: Sustain(actor) = (effectTime(actor,11752) > 0 or effectTime(actor,11753) > 0 or effectTime(actor,11793) > 0 or effectTime(actor,11794) > 0 or effectTime(actor,11795) > 0 or effectTime(actor,11796) > 0 or effectTime(actor,11797) > 0 or effectTime(actor,11798) > 0 or effectTime(actor,11799) > 0 or effectTime(actor,11800) > 0 or effectTime(actor,11801) > 0 or effectTime(actor,11802) > 0 or effectTime(actor,11803) > 0 or effectTime(actor,11804) > 0 ) F: CanGetBuffs(obj) = alive and not isMedused(obj) and effectTime(obj,$DayOfDoom) == 0 and effectTime(obj,$DayOfDoom2) == 0 F: ShouldCast(skill) = (skillLevel(skill) > 0 \ and (mp(me) >= 200) \ and not (acting or nowCasting or isSilenced(me)) \ and SkillCoolTime(skill) == 0) F: isHealer(actor) = (class(actor) == 146 or class(actor) == 179 or class(actor) == 180 or class(actor) == 181) F: isMage(actor) = (class(actor) == 143 or class(actor) == 166 or class(actor) == 167 or class(actor) == 168 or class(actor) == 169 or class(actor) == 170) F: isArcher(actor) = (class(actor) == 142 or class(actor) == 162 or class(actor) == 163 or class(actor) == 164 or class(actor) == 165 ) F: isSummoner(actor) = (class (actor) == 14 or class (actor) == 28 or class (actor) == 41 or class (actor) == 96 or class (actor) == 104 or class (actor) == 111 or class(actor) == 145) F: isDagger(obj) = (class(actor) == 141 or class(actor) == 158 or class(actor) == 159 or class(actor) == 160 or class(actor) == 161) F: isEnchanger(obj) = (class(actor) == 144 or class(actor) == 171 or class(actor) == 172 or class(actor) == 173 or class(actor) == 174 or class(actor) == 175 or class(actor) == 184) F: isWarrior(obj) = (class(actor) == 140 or class(actor) == 152 or class(actor) == 153 or class(actor) == 154 or class(actor) == 155 or class(actor) == 156 or class(actor) == 157) F: isTank(obj) = (class(actor) == 139 or class(actor) == 148 or class(actor) == 149 or class(actor) == 150 or class(actor) == 151) V needsChainHeal, myMA F: isPhyDisable(actor) = (effectLevel(actor,3586) ~= 0 or effectLevel(actor,353) ~=0 or effectLevel(actor,1336) ~= 0 or effectLevel(actor,437) ~= 0) F: isHeroDisable(actor) = effectLevel(actor,1375) ~= 0 or effectLevel(actor,1376) ~=0 F: isRaidDisabled(actor) = (effectLevel(actor,4215) ~= 0 or effectLevel(actor,4515) ~= 0) F: canCast(skl) = skillLevel(skl) > 0 and \ mp(me) >= 200 and \ not (acting or nowCasting or isSilenced(me)) and \ effectTime($FlamesOfInvincibility) == 0 and \ effectTime($CelestialAegis) == 0 and \ skillCoolTime(skl) < 10 and \ zone ~= 12 F: canBeHealed(act) = not (isMedused(act) or isCelestialed(act)) F: isDisabled = (isStunned(me) or isMedused(me) or isTranced(me) or isAnchored(me) or isAfraid(me) or isHeroDisable(me) or (effectTime(922) > 0) or isPhyDisable(me) or isRaidDisabled(me)) E: NoblessAll,RezAll,PurifyAll,RechargeAll,PanicHeal, BalanceHeal, BrilliantHealHP , PanicHealHealer, BrilliantHealCP, ProgressiveHeal, Sustain F: isInvin(actor) = (effectLevel(actor,1917) ~= 0 or effectLevel(actor,1918) ~= 0 or effectLevel(actor,10279) ~= 0 or effectLevel(actor,11560) ~= 0 or effectLevel(actor,$CrystalForm) ~= 0 or effectLevel(actor,$Disparition) ~= 0 or effectLevel(actor,$Polymorph) ~= 0 or effectLevel(actor,3158) ~= 0 or effectLevel(actor,655) ~= 0 or effectLevel(actor,5576) ~= 0 or effectLevel(actor,$CelestialProtection) ~= 0 or effectLevel(actor,$CelestialPartyProtection) ~= 0) F: isLimit(actor) = (effectLevel(actor,$SealOfLimit) ~= 0) L CharFunctor NoblessAll (effectTime(actor,$NoblesseBlessing) == 0 and alive and CanGetBuffs(actor) and distance(actor)< 400 and ShouldCast($NoblesseBlessing)) L CharFunctor RezAll (isDead and isMember and distance(actor)< 500 and ShouldCast($Resurrection)) L CharFunctor PurifyAll (Debuffed(actor) and alive and distance < 650 and ShouldCast($RadiantPurge)) L CharFunctor RechargeAll (alive and isMember and pmp(actor) < 30 and distance(actor)< 500 and not isInvin(actor) and not isDisabled(me) and ShouldCast($RadiantRecharge) and not isHealer(actor)) L CharFunctor PanicHeal (alive and not isDisabled(me) and distance < 1000 and pcp <= 85 and not isInvin(actor) and Sustain(actor) and ShouldCast($PanicHeal)) L CharFunctor PanicHealHealer (alive and not isDisabled(me) and distance < 900 and pcp <= 80 and not isInvin(actor) and ShouldCast($PanicHeal) and isHealer(actor)) L CharFunctor BalanceHeal (alive and not isDisabled(me) and distance < 900 and php <= 35 and ShouldCast($BalanceHeal)) L CharFunctor BrilliantHealHP (alive and not isDisabled(me) and distance < 900 and php <= 70 and not isInvin(actor) and ShouldCast($BrilliantHeal)) L CharFunctor BrilliantHealCP (alive and not isDisabled(me) and distance < 900 and pcp <= 85 and not isInvin(actor) and ShouldCast($BrilliantHeal)) L CharFunctor ProgressiveHeal (alive and not isDisabled(me) and distance < 900 and php <= 55 and not isInvin(actor) and ShouldCast($ProgressiveHeal)) L CharFunctor Sustain (alive and not isDisabled(me) and distance < 1000 and pcp <= 85 and not Sustain(actor) and ShouldCast($Sustain)) >_F1 pmp(me) >= 4 and not isDisabled and alive(me) : \ if(partyFind(Sustain,1)) { Select(lastFound) safe > Cast $Sustain } : \ if(partyFind(BalanceHeal,1)) { Select(lastFound) safe > Cast $BalanceHeal } : \ if(partyFind(RezAll,0)) { Select(lastFound) safe > (500) Cast $BlessedResurrection } : \ if(partyCount(BrilliantHealCP,1) >=2) { Cast $BrilliantHeal } : \ if(partyCount(BrilliantHealHP,1) >=2) { Cast $BrilliantHeal } : \ if(partyFind(PanicHealHealer,1)) { Select(lastFound) safe > Cast $PanicHeal } : \ if(partyFind(PanicHeal,1)) { Select(lastFound) safe > Cast $PanicHeal } : \ if(partyFind(ProgressiveHeal,1)) { Select(lastFound) safe > Cast $ProgressiveHeal} : \ if(partyFind(PurifyAll,1)) { Select(lastFound) safe > Cast $RadiantPurge } : \ if(partyFind(NoblessAll,1)) { Select(lastFound) safe > Cast $NoblesseBlessing } : \ if(partyFind(RechargeALL,0)) { Select(lastFound) safe > Cast $RadiantRecharge } >_F2 pmp(me) >= 4 and not isDisabled(me) and alive(me) \ : if ( SkillReady(11766) and target(me) == target(myMA) ) { Cast 11766 } \ : if ( SkillReady(11777) and not effectTime(target(me),11777) and target(me) == target(myMA) ) { Cast 11777 forced } \ : if ( SkillReady(11814) and target(me) == target(myMA) ) { Cast 11814 } \ : if ( SkillReady(11767) and target(me) == target(myMA) ) { Cast 11767 } \ : if ( SkillReady(11817) and Distance(me,Target(me)) < 300 ) { Cast 11817 } F: DoTarget(obj) = alive(obj) \ and class(target(id(myMA))) ~= 139 \ and not (isFriend(obj) or isMember(obj)) \ and target(id(myMA)) ~= me // ALT+M = my target is set as myMA >+M myMA = name(target(me)) ; Display 0 ("MA is"..myMA) // ALT+A = Assist my MA's target >_F2 target(me) ~= target(id(myMA)) \ and alive(me) \ and DoTarget(target(id(myMA))) : \ Select(target(id(myMA))) safe // Enable AA to auto assist //?AA T(500) target(me) ~= target(id(myMA)) \ and alive(me) \ and DoTarget(target(id(myMA))) : \ Select(target(id(myMA))) safe @GroupSwitch group == "AA" \ and newState \ and id(myMA) : \ Display 0 ("Auto Assisting "..myMA) S EnableGroup("AA") off /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////