pull/1/head
4n0n 2 years ago
parent fb772872cc
commit 3c4abd406d
  1. 1118
      scripts/outlaw.lua
  2. 79
      scripts/restodruid.lua
  3. 42
      scripts/subtlety.lua

File diff suppressed because it is too large Load Diff

@ -441,24 +441,23 @@ DefaultAPL:AddSpell(
DefaultAPL:AddSpell( DefaultAPL:AddSpell(
NaturesSwiftness:CastableIf(function(self) NaturesSwiftness:CastableIf(function(self)
return Lowest:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() return Lowest:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:CanSee(Lowest) and and Player:CanSee(Lowest) and Lowest:GetHP() < 70
(Lowest:GetHP() < 70 or (Player:GetPartyHPAround(40, 65) >= 2 or Player:GetPartyHPAround(40, 70))
)
end):SetTarget(Lowest) end):SetTarget(Lowest)
) )
DefaultAPL:AddSpell( DefaultAPL:AddSpell(
ConvokeTheSpirits:CastableIf(function(self) ConvokeTheSpirits:CastableIf(function(self)
return Player:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() and return Player:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() and
self:IsInRange(Player) and (Player:GetPartyHPAround(40, 65) >= 2 or Player:GetPartyHPAround(40, 70) >= 3) self:IsInRange(Player) and (Player:GetPartyHPAround(40, 70) >= 2 or Player:GetPartyHPAround(40, 75) >= 3)
and (Flourish:IsKnownAndUsable() or Flourish:GetTimeSinceLastCast() > 10)
end):SetTarget(Player) end):SetTarget(Player)
) )
DefaultAPL:AddSpell( DefaultAPL:AddSpell(
Flourish:CastableIf(function(self) Flourish:CastableIf(function(self)
return Player:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() and return Player:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() and
self:IsInRange(Player) and (Player:GetPartyHPAround(40, 65) >= 2 or Player:GetPartyHPAround(40, 70) >= 3) and self:IsInRange(Player) and (Player:GetPartyHPAround(40, 70) >= 2 or Player:GetPartyHPAround(40, 75) >= 3) and
(not ConvokeTheSpirits:IsKnownAndUsable() and ConvokeTheSpirits:GetTimeSinceLastCast() > 7) and (not ConvokeTheSpirits:IsKnownAndUsable() and ConvokeTheSpirits:GetTimeSinceLastCast() > 10) and
WildGrowth:GetTimeSinceLastCast() <= 6 WildGrowth:GetTimeSinceLastCast() <= 6
end):SetTarget(Player) end):SetTarget(Player)
) )
@ -482,7 +481,7 @@ DefaultAPL:AddSpell(
return SwiftmendUnit:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() return SwiftmendUnit:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:CanSee(SwiftmendUnit) and and Player:CanSee(SwiftmendUnit) and
( (
SwiftmendUnit:GetHP() <= 80 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
) )
@ -495,12 +494,10 @@ DefaultAPL:AddSpell(
return WildGrowthUnit:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() return WildGrowthUnit:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:CanSee(WildGrowthUnit) and and Player:CanSee(WildGrowthUnit) and
( (
( Player:GetAuras():FindMy(SoulOfTheForest):IsUp()
Player:GetAuras():FindMy(SoulOfTheForest):IsUp() and or
( (WildGrowthUnit:GetPartyHPAround(30, 90) >= 3 or WildGrowthUnit:GetPartyHPAround(30, 85) >= 2)
Player:GetAuras():FindMy(SoulOfTheForest):GetRemainingTime() <= 5 or ) and
WildGrowthUnit:GetPartyHPAround(30, 90) >= 2)) or
(WildGrowthUnit:GetPartyHPAround(30, 90) >= 3 or WildGrowthUnit:GetPartyHPAround(30, 85) >= 2)) and
not Player:IsMoving() not Player:IsMoving()
end):SetTarget(WildGrowthUnit) end):SetTarget(WildGrowthUnit)
) )
@ -541,7 +538,7 @@ DefaultAPL:AddSpell(
DefaultAPL:AddSpell( DefaultAPL:AddSpell(
Rejuvenation:CastableIf(function(self) Rejuvenation:CastableIf(function(self)
return RejuvUnit:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() return RejuvUnit:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:CanSee(RejuvUnit) and RejuvUnit:GetHP() <= 94 and and Player:CanSee(RejuvUnit) and (RejuvUnit:GetHP() <= 94) and
not Player:GetAuras():FindMy(SoulOfTheForest):IsUp() not Player:GetAuras():FindMy(SoulOfTheForest):IsUp()
end):SetTarget(RejuvUnit) end):SetTarget(RejuvUnit)
) )
@ -578,45 +575,53 @@ DefaultAPL:AddSpell(
end):SetTarget(Lowest) end):SetTarget(Lowest)
) )
DefaultAPL:AddSpell(
Rejuvenation:CastableIf(function(self)
return RejuvUnit:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:CanSee(RejuvUnit) and (RejuvUnit:GetHP() <= 94 or Player:GetPartyHPAround(40, 90) >= 2) and
not Player:GetAuras():FindMy(SoulOfTheForest):IsUp()
end):SetTarget(RejuvUnit)
)
DefaultAPL:AddSpell( DefaultAPL:AddSpell(
Sunfire:CastableIf(function(self) Sunfire:CastableIf(function(self)
return Bastion.UnitManager['target']:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() return Target:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:CanSee(Bastion.UnitManager['target']) and and Player:CanSee(Target) and
( (
not Bastion.UnitManager['target']:GetAuras():FindMy(SunfireAura):IsUp() or not Target:GetAuras():FindMy(SunfireAura):IsUp() or
Bastion.UnitManager['target']:GetAuras():FindMy(SunfireAura):GetRemainingTime() <= 5.4) and Target:GetAuras():FindMy(SunfireAura):GetRemainingTime() <= 5.4) and
Bastion.UnitManager['target']:IsHostile() and Target:IsHostile() and
Bastion.UnitManager['target']:IsAffectingCombat() and Player:GetPP() >= 25 Target:IsAffectingCombat() and Player:GetPP() >= 25
end):SetTarget(Bastion.UnitManager['target']) end):SetTarget(Target)
) )
DefaultAPL:AddSpell( DefaultAPL:AddSpell(
Moonfire:CastableIf(function(self) Moonfire:CastableIf(function(self)
return Bastion.UnitManager['target']:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() return Target:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:CanSee(Bastion.UnitManager['target']) and and Player:CanSee(Target) and
( (
not Bastion.UnitManager['target']:GetAuras():FindMy(MoonfireAura):IsUp() or not Target:GetAuras():FindMy(MoonfireAura):IsUp() or
Bastion.UnitManager['target']:GetAuras():FindMy(MoonfireAura):GetRemainingTime() <= 5.4) and Target:GetAuras():FindMy(MoonfireAura):GetRemainingTime() <= 5.4) and
Bastion.UnitManager['target']:IsHostile() and Target:IsHostile() and
Bastion.UnitManager['target']:IsAffectingCombat() and Player:GetPP() >= 25 Target:IsAffectingCombat() and Player:GetPP() >= 25
end):SetTarget(Bastion.UnitManager['target']) end):SetTarget(Target)
) )
DefaultAPL:AddSpell( DefaultAPL:AddSpell(
Starsurge:CastableIf(function(self) Starsurge:CastableIf(function(self)
return Bastion.UnitManager['target']:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() return Target:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:CanSee(Bastion.UnitManager['target']) and Bastion.UnitManager['target']:IsHostile() and and Player:CanSee(Target) and Target:IsHostile() and
Bastion.UnitManager['target']:IsAffectingCombat() and Player:GetPP() >= 25 Target:IsAffectingCombat() and Player:GetPP() >= 25
end):SetTarget(Bastion.UnitManager['target']) end):SetTarget(Target)
) )
DefaultAPL:AddSpell( DefaultAPL:AddSpell(
Wrath:CastableIf(function(self) Wrath:CastableIf(function(self)
return Bastion.UnitManager['target']:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() return Target:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:CanSee(Bastion.UnitManager['target']) and not Player:IsMoving() and and Player:CanSee(Target) and not Player:IsMoving() and
Bastion.UnitManager['target']:IsHostile() and Target:IsHostile() and
Bastion.UnitManager['target']:IsAffectingCombat() and Player:GetPP() >= 25 Target:IsAffectingCombat() and Player:GetPP() >= 25
end):SetTarget(Bastion.UnitManager['target']) end):SetTarget(Target)
) )
RestoModule:Sync(function() RestoModule:Sync(function()

@ -843,7 +843,8 @@ local FindWeakness = Bastion.SpellBook:GetSpell(91023)
local ImprovedShurikenStorm = Bastion.SpellBook:GetSpell(319951) local ImprovedShurikenStorm = Bastion.SpellBook:GetSpell(319951)
local RefreshingHealingPotion = Bastion.ItemBook:GetItem(191380)
local ElementalPotionOfPower = Bastion.ItemBook:GetItem(191389)
local IrideusFragment = Bastion.ItemBook:GetItem(193743) local IrideusFragment = Bastion.ItemBook:GetItem(193743)
local Healthstone = Bastion.ItemBook:GetItem(5512) local Healthstone = Bastion.ItemBook:GetItem(5512)
local WindscarWhetstone = Bastion.ItemBook:GetItem(137486) local WindscarWhetstone = Bastion.ItemBook:GetItem(137486)
@ -997,6 +998,38 @@ local FinishAPL = Bastion.APL:New('finish')
local BuildAPL = Bastion.APL:New('build') local BuildAPL = Bastion.APL:New('build')
local ItemsAPL = Bastion.APL:New('items') local ItemsAPL = Bastion.APL:New('items')
ItemsAPL:AddItem(
Healthstone:UsableIf(function(self)
return self:IsEquippedAndUsable() and
not Player:IsCastingOrChanneling() and
Player:GetHealthPercent() < 40
end):SetTarget(Player)
)
ItemsAPL:AddItem(
RefreshingHealingPotion:UsableIf(function(self)
return self:IsEquippedAndUsable() and
not Player:IsCastingOrChanneling() and
Player:GetHealthPercent() < 40
end):SetTarget(Player)
)
ItemsAPL:AddSpell(
TricksOfTheTrade:CastableIf(function(self)
return Tank:Exists() and self:IsKnownAndUsable() and
not Player:IsCastingOrChanneling() and
Player:IsTanking(Target)
end):SetTarget(Tank)
)
ItemsAPL:AddSpell(
Evasion:CastableIf(function(self)
return self:IsKnownAndUsable() and
not Player:IsCastingOrChanneling() and
Player:GetHealthPercent() < 40
end):SetTarget(Player)
)
ItemsAPL:AddItem( ItemsAPL:AddItem(
IrideusFragment:UsableIf(function(self) IrideusFragment:UsableIf(function(self)
return self:IsEquippedAndUsable() and return self:IsEquippedAndUsable() and
@ -1004,6 +1037,13 @@ ItemsAPL:AddItem(
end):SetTarget(Player) end):SetTarget(Player)
) )
ItemsAPL:AddItem(
ElementalPotionOfPower:UsableIf(function(self)
return self:IsEquippedAndUsable() and
not Player:IsCastingOrChanneling() and (Player:GetMeleeAttackers() > 2 or Target:IsBoss())
end):SetTarget(Player)
)
ItemsAPL:AddItem( ItemsAPL:AddItem(
WindscarWhetstone:UsableIf(function(self) WindscarWhetstone:UsableIf(function(self)
return Target:Exists() and Player:InMelee(Target) and self:IsEquippedAndUsable() and return Target:Exists() and Player:InMelee(Target) and self:IsEquippedAndUsable() and

Loading…
Cancel
Save