@ -111,380 +111,371 @@ local RakeDebuff = Bastion.SpellBook:GetSpell(155722)
local Lowest = Bastion.UnitManager : CreateCustomUnit ( ' lowest ' , function ( unit )
local Lowest = Bastion.UnitManager : CreateCustomUnit ( ' lowest ' , function ( unit )
local lowest = nil
local lowest = nil
local lowestHP = math.huge
local lowestHP = math.huge
Bastion.UnitManager : EnumFriends ( function ( unit )
Bastion.UnitManager : EnumFriends ( function ( unit )
if unit : IsDead ( ) then
if unit : IsDead ( ) then
return false
return false
end
end
if Player : GetDistance ( unit ) > 40 then
if Player : GetDistance ( unit ) > 40 then
return false
return false
end
end
if not Player : CanSee ( unit ) then
if not Player : CanSee ( unit ) then
return false
return false
end
end
local hp = unit : GetHP ( )
local hp = unit : GetHP ( )
if hp < lowestHP then
if hp < lowestHP then
lowest = unit
lowest = unit
lowestHP = hp
lowestHP = hp
end
end
end )
end )
if not lowest then
if not lowest then
lowest = Player
lowest = Player
end
end
return lowest
return lowest
end )
end )
local DispelTarget = Bastion.UnitManager : CreateCustomUnit ( ' dispel ' , function ( unit )
local DispelTarget = Bastion.UnitManager : CreateCustomUnit ( ' dispel ' , function ( unit )
local lowest = nil
local lowest = nil
local lowestHP = math.huge
local lowestHP = math.huge
Bastion.UnitManager : EnumFriends ( function ( unit )
if unit : IsDead ( ) then
return false
end
if not Player : CanSee ( unit ) then
Bastion.UnitManager : EnumFriends ( function ( unit )
return false
if unit : IsDead ( ) then
end
return false
end
if Player : GetDistanc e( unit ) > 40 then
if not Player : CanSe e ( unit ) then
return false
return false
end
end
if not unit : IsDead ( ) and Player : CanSee ( unit ) and
if Player : GetDistance ( unit ) > 40 then
unit : GetAuras ( ) : HasAnyDispelableAura ( NaturesCure ) then
return false
end
local hp = unit : GetHP ( )
if not unit : IsDead ( ) and Player : CanSee ( unit ) and
if hp < lowestHP then
unit : GetAuras ( ) : HasAnyDispelableAura ( NaturesCure ) then
lowest = unit
local hp = unit : GetHP ( )
lowestHP = hp
if hp < lowestHP then
lowest = unit
lowestHP = hp
end
end
end
end )
if lowest == nil then
lowest = None
end
end
return lowest
end )
end )
if lowest == nil then
local PurgeTarget = Bastion.UnitManager : CreateCustomUnit ( ' purge ' , function ( unit )
lowest = None
local purge = nil
end
return lowest
Bastion.UnitManager : EnumEnemies ( function ( unit )
end )
if unit : IsDead ( ) then
return false
end
local PurgeTarget = Bastion.UnitManager : CreateCustomUnit ( ' purge ' , function ( unit )
if not Player : CanSee ( unit ) then
local purge = nil
return false
end
Bastion.UnitManager : EnumEnemies ( function ( unit )
if Player : GetDistance ( unit ) > 40 then
if unit : IsDead ( ) then
return false
return false
end
end
if not Player : CanSee ( unit ) then
if not unit : IsDead ( ) and Player : CanSee ( unit ) and
return false
unit : GetAuras ( ) : HasAnyStealableAura ( ) then
end
purge = unit
return true
end
end )
if Player : GetDistance ( unit ) > 40 then
if purge == nil then
return false
purge = Non e
end
end
if not unit : IsDead ( ) and Player : CanSee ( unit ) and
return purge
unit : GetAuras ( ) : HasAnyStealableAura ( ) then
purge = unit
return true
end
end )
end )
if purge == nil then
local Tank = Bastion.UnitManager : CreateCustomUnit ( ' tank ' , function ( unit )
purge = None
local tank = nil
end
return purge
Bastion.UnitManager : EnumFriends ( function ( unit )
end )
if Player : GetDistance ( unit ) > 40 then
return false
end
local Tank = Bastion.UnitManager : CreateCustomUnit ( ' tank ' , function ( unit )
if not Player : CanSee ( unit ) then
local tank = nil
return false
end
Bastion.UnitManager : EnumFriends ( function ( unit )
if unit : IsDead ( ) then
if Player : GetDistance ( unit ) > 40 then
return false
return false
end
end
if not Player : CanSee ( unit ) then
if unit : IsTank ( ) then
return false
tank = unit
end
return true
end
if unit : IsDead ( ) then
return false
return false
end
end )
if unit : IsTank ( ) then
if tank == nil then
tank = unit
tank = Player
return true
end
end
return false
return tank
end )
end )
if tank == nil then
tank = Player
end
return tank
end )
local RejuvUnit = Bastion.UnitManager : CreateCustomUnit ( ' rejuv ' , function ( unit )
local RejuvUnit = Bastion.UnitManager : CreateCustomUnit ( ' rejuv ' , function ( unit )
local lowest = nil
local lowest = nil
local lowestHP = math.huge
local lowestHP = math.huge
Bastion.UnitManager : EnumFriends ( function ( unit )
Bastion.UnitManager : EnumFriends ( function ( unit )
if unit : IsDead ( ) then
if unit : IsDead ( ) then
return false
return false
end
end
if not Player : CanSee ( unit ) then
if not Player : CanSee ( unit ) then
return false
return false
end
end
if Player : GetDistance ( unit ) > 40 then
if Player : GetDistance ( unit ) > 40 then
return false
return false
end
end
if not unit : IsDead ( ) and Player : CanSee ( unit ) and
if not unit : IsDead ( ) and Player : CanSee ( unit ) and
(
(
not unit : GetAuras ( ) : FindMy ( Rejuvenation ) : IsUp ( ) or
not unit : GetAuras ( ) : FindMy ( Rejuvenation ) : IsUp ( ) or
unit : GetAuras ( ) : FindMy ( Rejuvenation ) : GetRemainingTime ( ) <= 3.6 ) then
unit : GetAuras ( ) : FindMy ( Rejuvenation ) : GetRemainingTime ( ) <= 3.6 ) then
local hp = unit : GetHP ( )
local hp = unit : GetHP ( )
if hp < lowestHP then
if hp < lowestHP then
lowest = unit
lowest = unit
lowestHP = hp
lowestHP = hp
end
end
end
end
end )
end )
if lowest == nil then
if lowest == nil then
lowest = Player
lowest = Player
end
end
return lowest
return lowest
end )
end )
local SwiftmendUnit = Bastion.UnitManager : CreateCustomUnit ( ' swiftmend ' , function ( unit )
local SwiftmendUnit = Bastion.UnitManager : CreateCustomUnit ( ' swiftmend ' , function ( unit )
local lowest = nil
local lowest = nil
local lowestHP = math.huge
local lowestHP = math.huge
Bastion.UnitManager : EnumFriends ( function ( unit )
Bastion.UnitManager : EnumFriends ( function ( unit )
if unit : IsDead ( ) then
if unit : IsDead ( ) then
return false
return false
end
end
if not Player : CanSee ( unit ) then
if not Player : CanSee ( unit ) then
return false
return false
end
end
if Player : GetDistance ( unit ) > 40 then
if Player : GetDistance ( unit ) > 40 then
return false
return false
end
end
if (
if (
Player : CanSee ( unit ) and (
Player : CanSee ( unit ) and (
( unit : GetAuras ( ) : FindMy ( Regrowth ) : IsUp ( ) )
( unit : GetAuras ( ) : FindMy ( Regrowth ) : IsUp ( ) )
or
or
(
(
unit : GetAuras ( ) : FindMy ( Rejuvenation ) : IsUp ( ) and
unit : GetAuras ( ) : FindMy ( Rejuvenation ) : IsUp ( ) and
not unit : GetAuras ( ) : FindMy ( WildGrowth ) : IsUp ( ) )
not unit : GetAuras ( ) : FindMy ( WildGrowth ) : IsUp ( ) )
)
)
) then
) then
local hp = unit : GetHP ( )
local hp = unit : GetHP ( )
if hp < lowestHP then
if hp < lowestHP then
lowest = unit
lowest = unit
lowestHP = hp
lowestHP = hp
end
end
end
end
end )
end )
if lowest == nil then
if lowest == nil then
lowest = None
lowest = None
end
end
return lowest
return lowest
end )
end )
local WildGrowthUnit = Bastion.UnitManager : CreateCustomUnit ( ' wildgrowth ' , function ( unit )
local WildGrowthUnit = Bastion.UnitManager : CreateCustomUnit ( ' wildgrowth ' , function ( unit )
local lowest = nil
local lowest = nil
local lowestHP = math.huge
local lowestHP = math.huge
Bastion.UnitManager : EnumFriends ( function ( unit )
Bastion.UnitManager : EnumFriends ( function ( unit )
if unit : IsDead ( ) then
if unit : IsDead ( ) then
return false
return false
end
end
if not Player : CanSee ( unit ) then
if not Player : CanSee ( unit ) then
return false
return false
end
end
if Player : GetDistance ( unit ) > 40 then
if Player : GetDistance ( unit ) > 40 then
return false
return false
end
end
if Player : CanSee ( unit ) and (
if Player : CanSee ( unit ) and (
(
(
Player : GetAuras ( ) : FindMy ( SoulOfTheForest ) : IsUp ( ) and
Player : GetAuras ( ) : FindMy ( SoulOfTheForest ) : IsUp ( ) and
(
(
Player : GetAuras ( ) : FindMy ( SoulOfTheForest ) : GetRemainingTime ( ) <= 5 or
Player : GetAuras ( ) : FindMy ( SoulOfTheForest ) : GetRemainingTime ( ) <= 5 or
unit : GetPartyHPAround ( 30 , 90 ) >= 2 ) ) or
unit : GetPartyHPAround ( 30 , 90 ) >= 2 ) ) or
( unit : GetPartyHPAround ( 30 , 90 ) >= 3 or unit : GetPartyHPAround ( 30 , 85 ) >= 2 ) )
( unit : GetPartyHPAround ( 30 , 90 ) >= 3 or unit : GetPartyHPAround ( 30 , 85 ) >= 2 ) )
then
then
local hp = unit : GetHP ( )
local hp = unit : GetHP ( )
if hp < lowestHP then
if hp < lowestHP then
lowest = unit
lowest = unit
lowestHP = hp
lowestHP = hp
end
end
end
end )
if lowest == nil then
lowest = None
end
end
return lowest
end )
end )
local Explosive = Bastion.UnitManager : CreateCustomUnit ( ' explosive ' , function ( unit )
local explosive = nil
if lowest == nil then
Bastion.ObjectManager . explosives : each ( function ( unit )
lowest = None
if unit : IsDead ( ) then
end
return false
end
return lowest
end )
local Explosive = Bastion.UnitManager : CreateCustomUnit ( ' explosive ' , function ( unit )
if not Player : CanSee ( unit ) then
local explosive = nil
return false
end
Bastion.ObjectManager . explosives : each ( function ( unit )
if Player : GetDistance ( unit ) <= 40 then
if unit : IsDead ( ) then
explosive = unit
return false
return true
end
end
end )
if not Player : CanSee ( unit ) then
if explosive == nil then
return fals e
explosive = Non e
end
end
if Player : GetDistance ( unit ) <= 40 then
return explosive
explosive = unit
return true
end
end )
end )
if explosive == nil then
explosive = None
end
return explosive
end )
local RakeTarget = Bastion.UnitManager : CreateCustomUnit ( ' rake ' , function ( unit )
local RakeTarget = Bastion.UnitManager : CreateCustomUnit ( ' rake ' , function ( unit )
local rakeTarget = nil
local rakeTarget = nil
Bastion.UnitManager : EnumEnemies ( function ( unit )
Bastion.UnitManager : EnumEnemies ( function ( unit )
if unit : IsDead ( ) then
if unit : IsDead ( ) then
return false
return false
end
end
if not Player : CanSee ( unit ) then
if not Player : CanSee ( unit ) then
return false
return false
end
end
if Player : GetDistance ( unit ) > 40 then
if Player : GetDistance ( unit ) > 40 then
return false
return false
end
end
if not unit : IsDead ( ) and Player : CanSee ( unit ) and unit : InCombatOdds ( ) > 80 and unit : InMelee ( Player ) and
if not unit : IsDead ( ) and Player : CanSee ( unit ) and unit : InCombatOdds ( ) > 80 and unit : InMelee ( Player ) and
Player : IsFacing ( unit ) and
Player : IsFacing ( unit ) and
(
(
not unit : GetAuras ( ) : FindMy ( RakeDebuff ) : IsUp ( ) or
not unit : GetAuras ( ) : FindMy ( RakeDebuff ) : IsUp ( ) or
unit : GetAuras ( ) : FindMy ( RakeDebuff ) : GetRemainingTime ( ) <= 3.6 ) then
unit : GetAuras ( ) : FindMy ( RakeDebuff ) : GetRemainingTime ( ) <= 3.6 ) then
rakeTarget = unit
rakeTarget = unit
end
end
end )
end )
if rakeTarget == nil then
if rakeTarget == nil then
rakeTarget = None
rakeTarget = None
end
end
return rakeTarget
return rakeTarget
end )
end )
local MoonfireTarget = Bastion.UnitManager : CreateCustomUnit ( ' moonfire ' , function ( unit )
local MoonfireTarget = Bastion.UnitManager : CreateCustomUnit ( ' moonfire ' , function ( unit )
local moonfireTarget = nil
local moonfireTarget = nil
Bastion.UnitManager : EnumEnemies ( function ( unit )
Bastion.UnitManager : EnumEnemies ( function ( unit )
if unit : IsDead ( ) then
if unit : IsDead ( ) then
return false
return false
end
end
if not Player : CanSee ( unit ) then
if not Player : CanSee ( unit ) then
return false
return false
end
end
if Player : GetDistance ( unit ) > 40 then
if Player : GetDistance ( unit ) > 40 then
return false
return false
end
end
if not unit : IsDead ( ) and Player : CanSee ( unit ) and unit : InCombatOdds ( ) > 80 and
if not unit : IsDead ( ) and Player : CanSee ( unit ) and unit : InCombatOdds ( ) > 80 and
(
(
not unit : GetAuras ( ) : FindMy ( MoonfireAura ) : IsUp ( ) or
not unit : GetAuras ( ) : FindMy ( MoonfireAura ) : IsUp ( ) or
unit : GetAuras ( ) : FindMy ( MoonfireAura ) : GetRemainingTime ( ) <= 3.6 ) then
unit : GetAuras ( ) : FindMy ( MoonfireAura ) : GetRemainingTime ( ) <= 3.6 ) then
moonfireTarget = unit
moonfireTarget = unit
end
end )
if moonfireTarget == nil then
moonfireTarget = None
end
end
return moonfireTarget
end )
end )
if moonfireTarget == nil then
moonfireTarget = None
end
return moonfireTarget
end )
local SunfireTarget = Bastion.UnitManager : CreateCustomUnit ( ' sunfire ' , function ( unit )
local SunfireTarget = Bastion.UnitManager : CreateCustomUnit ( ' sunfire ' , function ( unit )
local sunfireTarget = nil
local sunfireTarget = nil
Bastion.UnitManager : EnumEnemies ( function ( unit )
Bastion.UnitManager : EnumEnemies ( function ( unit )
if unit : IsDead ( ) then
if unit : IsDead ( ) then
return false
return false
end
end
if not Player : CanSee ( unit ) then
if not Player : CanSee ( unit ) then
return false
return false
end
end
if Player : GetDistance ( unit ) > 40 then
if Player : GetDistance ( unit ) > 40 then
return false
return false
end
end
if not unit : IsDead ( ) and Player : CanSee ( unit ) and unit : InCombatOdds ( ) > 80 and
if not unit : IsDead ( ) and Player : CanSee ( unit ) and unit : InCombatOdds ( ) > 80 and
(
(
not unit : GetAuras ( ) : FindMy ( SunfireAura ) : IsUp ( ) or
not unit : GetAuras ( ) : FindMy ( SunfireAura ) : IsUp ( ) or
unit : GetAuras ( ) : FindMy ( SunfireAura ) : GetRemainingTime ( ) <= 3.6 ) then
unit : GetAuras ( ) : FindMy ( SunfireAura ) : GetRemainingTime ( ) <= 3.6 ) then
sunfireTarget = unit
sunfireTarget = unit
end
end )
if sunfireTarget == nil then
sunfireTarget = None
end
end
return sunfireTarget
end )
end )
if sunfireTarget == nil then
sunfireTarget = None
end
return sunfireTarget
end )
local RestoCommands = Bastion.Command : New ( ' resto ' )
local RestoCommands = Bastion.Command : New ( ' resto ' )
local PLACE_EFFLO = false
local PLACE_EFFLO = false
@ -502,7 +493,7 @@ DamageAPL:AddSpell(
return RakeTarget : Exists ( ) and self : IsKnownAndUsable ( ) and not Player : IsCastingOrChanneling ( ) and
return RakeTarget : Exists ( ) and self : IsKnownAndUsable ( ) and not Player : IsCastingOrChanneling ( ) and
(
(
not RakeTarget : GetAuras ( ) : FindMy ( RakeDebuff ) : IsUp ( ) or
not RakeTarget : GetAuras ( ) : FindMy ( RakeDebuff ) : IsUp ( ) or
RakeTarget : GetAuras ( ) : FindMy ( RakeDebuff ) : GetRemainingTime ( ) <= 3.6 )
RakeTarget : GetAuras ( ) : FindMy ( RakeDebuff ) : GetRemainingTime ( ) <= 3.6 )
end ) : SetTarget ( RakeTarget )
end ) : SetTarget ( RakeTarget )
)
)
@ -520,11 +511,6 @@ DamageAPL:AddSpell(
end ) : SetTarget ( Target )
end ) : SetTarget ( Target )
)
)
DefaultAPL : AddSpell (
Moonfire : CastableIf ( function ( self )
return Explosive : Exists ( ) and self : IsKnownAndUsable ( ) and not Player : IsCastingOrChanneling ( )
end ) : SetTarget ( Explosive )
)
DefaultAPL : AddSpell (
DefaultAPL : AddSpell (
Efflorescence : CastableIf ( function ( self )
Efflorescence : CastableIf ( function ( self )
@ -545,7 +531,7 @@ end)
DefaultAPL : AddAction (
DefaultAPL : AddAction (
' cat_form_shift ' ,
' cat_form_shift ' ,
function ( )
function ( )
if ( IsShiftKeyDown ( ) or not Player : IsAffectingCombat ( ) ) and not Player : IsMounted ( ) and
if ( IsShiftKeyDown ( ) ) and not Player : IsMounted ( ) and
not Player : GetAuras ( ) : FindMy ( CatForm ) : IsUp ( ) and
not Player : GetAuras ( ) : FindMy ( CatForm ) : IsUp ( ) and
not Player : IsCastingOrChanneling ( ) then
not Player : IsCastingOrChanneling ( ) then
CatForm : Cast ( Player )
CatForm : Cast ( Player )
@ -613,9 +599,9 @@ DefaultAPL:AddSpell(
and Player : CanSee ( SwiftmendUnit ) and
and Player : CanSee ( SwiftmendUnit ) and
(
(
SwiftmendUnit : GetHP ( ) <= 60 or
SwiftmendUnit : GetHP ( ) <= 60 or
(
(
Lowest : GetPartyHPAround ( 30 , 90 ) >= 3 or Lowest : GetPartyHPAround ( 30 , 85 ) >= 2
Lowest : GetPartyHPAround ( 30 , 90 ) >= 3 or Lowest : GetPartyHPAround ( 30 , 85 ) >= 2
)
)
)
)
end ) : SetTarget ( SwiftmendUnit )
end ) : SetTarget ( SwiftmendUnit )
)
)
@ -626,8 +612,8 @@ DefaultAPL:AddSpell(
and Player : CanSee ( WildGrowthUnit ) and
and Player : CanSee ( WildGrowthUnit ) and
(
(
Player : GetAuras ( ) : FindMy ( SoulOfTheForest ) : IsUp ( )
Player : GetAuras ( ) : FindMy ( SoulOfTheForest ) : IsUp ( )
or
or
( WildGrowthUnit : GetPartyHPAround ( 30 , 90 ) >= 3 or WildGrowthUnit : GetPartyHPAround ( 30 , 85 ) >= 2 )
( WildGrowthUnit : GetPartyHPAround ( 30 , 90 ) >= 3 or WildGrowthUnit : GetPartyHPAround ( 30 , 85 ) >= 2 )
) and
) and
not Player : IsMoving ( )
not Player : IsMoving ( )
end ) : SetTarget ( WildGrowthUnit )
end ) : SetTarget ( WildGrowthUnit )
@ -647,7 +633,7 @@ DefaultAPL:AddSpell(
and Player : CanSee ( Lowest ) and Lowest : GetHP ( ) < 70 and
and Player : CanSee ( Lowest ) and Lowest : GetHP ( ) < 70 and
(
(
NaturesSwiftness : GetTimeSinceLastCast ( ) < 2 or Player : GetAuras ( ) : FindMy ( NaturesSwiftness ) : IsUp ( ) or
NaturesSwiftness : GetTimeSinceLastCast ( ) < 2 or Player : GetAuras ( ) : FindMy ( NaturesSwiftness ) : IsUp ( ) or
NaturesSwiftness : IsKnownAndUsable ( ) ) and not Player : IsMoving ( ) and
NaturesSwiftness : IsKnownAndUsable ( ) ) and not Player : IsMoving ( ) and
not Player : GetAuras ( ) : FindMy ( SoulOfTheForest ) : IsUp ( )
not Player : GetAuras ( ) : FindMy ( SoulOfTheForest ) : IsUp ( )
end ) : SetTarget ( Lowest )
end ) : SetTarget ( Lowest )
)
)
@ -680,7 +666,7 @@ DefaultAPL:AddSpell(
and
and
(
(
not Player : GetAuras ( ) : FindMy ( LifebloomAura ) : IsUp ( ) or
not Player : GetAuras ( ) : FindMy ( LifebloomAura ) : IsUp ( ) or
Player : GetAuras ( ) : FindMy ( LifebloomAura ) : GetRemainingTime ( ) <= 4.5 ) and Player : IsAffectingCombat ( )
Player : GetAuras ( ) : FindMy ( LifebloomAura ) : GetRemainingTime ( ) <= 4.5 ) and Player : IsAffectingCombat ( )
end ) : SetTarget ( Player )
end ) : SetTarget ( Player )
)
)
@ -690,7 +676,7 @@ DefaultAPL:AddSpell(
and
and
(
(
not Tank : GetAuras ( ) : FindMy ( LifebloomAura ) : IsUp ( ) or
not Tank : GetAuras ( ) : FindMy ( LifebloomAura ) : IsUp ( ) or
Tank : GetAuras ( ) : FindMy ( LifebloomAura ) : GetRemainingTime ( ) <= 4.5 ) and Tank : IsAffectingCombat ( )
Tank : GetAuras ( ) : FindMy ( LifebloomAura ) : GetRemainingTime ( ) <= 4.5 ) and Tank : IsAffectingCombat ( )
end ) : SetTarget ( Tank )
end ) : SetTarget ( Tank )
)
)
@ -700,7 +686,7 @@ DefaultAPL:AddSpell(
and Player : CanSee ( Lowest ) and
and Player : CanSee ( Lowest ) and
(
(
not Player : GetAuras ( ) : FindMy ( Regrowth ) : IsUp ( ) and Lowest : GetHP ( ) < 70 or
not Player : GetAuras ( ) : FindMy ( Regrowth ) : IsUp ( ) and Lowest : GetHP ( ) < 70 or
( Lowest : GetHP ( ) <= 85 and Player : GetAuras ( ) : FindMy ( ClearCasting ) : IsUp ( ) ) ) and
( Lowest : GetHP ( ) <= 85 and Player : GetAuras ( ) : FindMy ( ClearCasting ) : IsUp ( ) ) ) and
not Player : GetAuras ( ) : FindMy ( SoulOfTheForest ) : IsUp ( ) and
not Player : GetAuras ( ) : FindMy ( SoulOfTheForest ) : IsUp ( ) and
not Player : IsMoving ( )
not Player : IsMoving ( )
end ) : SetTarget ( Lowest )
end ) : SetTarget ( Lowest )
@ -714,13 +700,20 @@ DefaultAPL:AddSpell(
end ) : SetTarget ( RejuvUnit )
end ) : SetTarget ( RejuvUnit )
)
)
DefaultAPL : AddSpell (
Moonfire : CastableIf ( function ( self )
return Explosive : Exists ( ) and self : IsKnownAndUsable ( ) and not Player : IsCastingOrChanneling ( )
end ) : SetTarget ( Explosive )
)
DefaultAPL : AddSpell (
DefaultAPL : AddSpell (
Sunfire : CastableIf ( function ( self )
Sunfire : CastableIf ( function ( self )
return SunfireTarget : Exists ( ) and self : IsKnownAndUsable ( ) and not Player : IsCastingOrChanneling ( )
return SunfireTarget : Exists ( ) and self : IsKnownAndUsable ( ) and not Player : IsCastingOrChanneling ( )
and Player : CanSee ( SunfireTarget ) and
and Player : CanSee ( SunfireTarget ) and
(
(
not SunfireTarget : GetAuras ( ) : FindMy ( SunfireAura ) : IsUp ( ) or
not SunfireTarget : GetAuras ( ) : FindMy ( SunfireAura ) : IsUp ( ) or
SunfireTarget : GetAuras ( ) : FindMy ( SunfireAura ) : GetRemainingTime ( ) <= 5.4 ) and
SunfireTarget : GetAuras ( ) : FindMy ( SunfireAura ) : GetRemainingTime ( ) <= 5.4 ) and
SunfireTarget : IsHostile ( ) and
SunfireTarget : IsHostile ( ) and
SunfireTarget : IsAffectingCombat ( ) and Player : GetPP ( ) >= 25
SunfireTarget : IsAffectingCombat ( ) and Player : GetPP ( ) >= 25
end ) : SetTarget ( SunfireTarget )
end ) : SetTarget ( SunfireTarget )
@ -732,7 +725,7 @@ DefaultAPL:AddSpell(
and Player : CanSee ( MoonfireTarget ) and
and Player : CanSee ( MoonfireTarget ) and
(
(
not MoonfireTarget : GetAuras ( ) : FindMy ( MoonfireAura ) : IsUp ( ) or
not MoonfireTarget : GetAuras ( ) : FindMy ( MoonfireAura ) : IsUp ( ) or
MoonfireTarget : GetAuras ( ) : FindMy ( MoonfireAura ) : GetRemainingTime ( ) <= 5.4 ) and
MoonfireTarget : GetAuras ( ) : FindMy ( MoonfireAura ) : GetRemainingTime ( ) <= 5.4 ) and
MoonfireTarget : IsHostile ( ) and
MoonfireTarget : IsHostile ( ) and
MoonfireTarget : IsAffectingCombat ( ) and Player : GetPP ( ) >= 25
MoonfireTarget : IsAffectingCombat ( ) and Player : GetPP ( ) >= 25
end ) : SetTarget ( MoonfireTarget )
end ) : SetTarget ( MoonfireTarget )