parent
40716ee5d0
commit
5384f54b15
@ -0,0 +1,6 @@ |
||||
{ |
||||
"Lua.diagnostics.globals": [ |
||||
"PlayerCastingBarFrame" |
||||
], |
||||
"editor.acceptSuggestionOnEnter": "on" |
||||
} |
@ -1,72 +0,0 @@ |
||||
local Tinkr, Bastion = ... |
||||
_G.Bastion = Bastion |
||||
_G.Tinkr = Tinkr |
||||
|
||||
local CiscOH1467 = Bastion.Module:New('ciscoh_dev_evoker') |
||||
local Evaluator = Tinkr.Util.Evaluator |
||||
local Player = Bastion.UnitManager:Get('player') |
||||
local None = Bastion.UnitManager:Get('none') |
||||
local Target = Bastion.UnitManager:Get('target') |
||||
|
||||
local AerialHalt = Bastion.SpellBook:GetSpell(403216) |
||||
local AutoAttack = Bastion.SpellBook:GetSpell(6603) |
||||
local Glide = Bastion.SpellBook:GetSpell(358733) |
||||
local SkywardAscent = Bastion.SpellBook:GetSpell(376744) |
||||
local Soar = Bastion.SpellBook:GetSpell(369536) |
||||
local SurgeForward = Bastion.SpellBook:GetSpell(376743) |
||||
local TailSwipe = Bastion.SpellBook:GetSpell(368970) |
||||
local WingBuffet = Bastion.SpellBook:GetSpell(357214) |
||||
local ArmorSkills = Bastion.SpellBook:GetSpell(366522) |
||||
local Awakened = Bastion.SpellBook:GetSpell(365575) |
||||
local DiscerningEye = Bastion.SpellBook:GetSpell(366489) |
||||
local FamiliarSkies = Bastion.SpellBook:GetSpell(360009) |
||||
local Languages = Bastion.SpellBook:GetSpell(362633) |
||||
local MasterRiding = Bastion.SpellBook:GetSpell(90265) |
||||
local PrinciplesofSoaring = Bastion.SpellBook:GetSpell(381451) |
||||
local WeapoSkills = Bastion.SpellBook:GetSpell(352372) |
||||
local ActivateEmpowerment = Bastion.SpellBook:GetSpell(357857) |
||||
local BlessingofOhnara = Bastion.SpellBook:GetSpell(384522) |
||||
local ChampionAbility = Bastion.SpellBook:GetSpell(356550) |
||||
local CombatAlly = Bastion.SpellBook:GetSpell(211390) |
||||
local ConstructAbility = Bastion.SpellBook:GetSpell(347013) |
||||
local CovenantAbility = Bastion.SpellBook:GetSpell(313347) |
||||
local FlynnsPistol = Bastion.SpellBook:GetSpell(248082) |
||||
local GarrisonAbility = Bastion.SpellBook:GetSpell(161691) |
||||
local HeartEssence = Bastion.SpellBook:GetSpell(296208) |
||||
local HuntingCompanion = Bastion.SpellBook:GetSpell(376280) |
||||
local SanityRestorationOrb = Bastion.SpellBook:GetSpell(314955) |
||||
local SignatureAbility = Bastion.SpellBook:GetSpell(3265 |
||||
local SummonPocopoc = Bastion.SpellBook:GetSpell(360078) |
||||
local Throw = Bastion.SpellBook:GetSpell(385265) |
||||
local VenthyrAbility = Bastion.SpellBook:GetSpell(315594) |
||||
local WartimeAbility = Bastion.SpellBook:GetSpell(264739) |
||||
local PocopocZoneAbilitySkill = Bastion.SpellBook:GetSpell(363942) |
||||
local DragonridingBasics = Bastion.SpellBook:GetSpell(376777) |
||||
local LiftOff = Bastion.SpellBook:GetSpell(383363) |
||||
local ThrilloftheSkies = Bastion.SpellBook:GetSpell(383366) |
||||
local Vigor = Bastion.SpellBook:GetSpell(383359) |
||||
local AzureStrike = Bastion.SpellBook:GetSpell(362969) |
||||
local BlessingoftheBronze = Bastion.SpellBook:GetSpell(364342) |
||||
local DeepBreath = Bastion.SpellBook:GetSpell(357210) |
||||
local Disintegrate = Bastion.SpellBook:GetSpell(356995) |
||||
local EmeraldBlossom = Bastion.SpellBook:GetSpell(355913) |
||||
local FireBreath = Bastion.SpellBook:GetSpell(357208) |
||||
local FuryoftheAspects = Bastion.SpellBook:GetSpell(390386) |
||||
local Hover = Bastion.SpellBook:GetSpell(358267) |
||||
local Landslide = Bastion.SpellBook:GetSpell(358385) |
||||
local LivingFlame = Bastion.SpellBook:GetSpell(361469) |
||||
local Quell = Bastion.SpellBook:GetSpell(351338) |
||||
local Return = Bastion.SpellBook:GetSpell(361227) |
||||
local EnergizingFlame = Bastion.SpellBook:GetSpell(400006) |
||||
local TemperedScales = Bastion.SpellBook:GetSpell(396571) |
||||
local Pyre = Bastion.SpellBook:GetSpell(357211) |
||||
local EssenceBurst = Bastion.SpellBook:GetSpell(359565) |
||||
local MasteryGiantkiller = Bastion.SpellBook:GetSpell(362980) |
||||
|
||||
local DefaultAPL = Bastion.APL:New('default') |
||||
|
||||
CiscOH1467:Sync(function() |
||||
DefaultAPL:Execute() |
||||
end) |
||||
|
||||
Bastion:Register(CiscOH1467) |
@ -0,0 +1,161 @@ |
||||
local Tinkr, Bastion = ... |
||||
|
||||
local CiscOHSpec1467 = Bastion.Module:New("ciscoh_1467") |
||||
local Evaluator = Tinkr.Util.Evaluator |
||||
local Player = Bastion.UnitManager:Get('player') |
||||
local None = Bastion.UnitManager:Get('none') |
||||
local Target = Bastion.UnitManager:Get('target') |
||||
|
||||
local PowerType = Player:GetPowerType() |
||||
local BlessingOfTheBronze = Bastion.SpellBook:GetSpell(364342) |
||||
local BlessingOfTheBronzeBuff = Bastion.SpellBook:GetSpell(361748) |
||||
local Burnout = Bastion.SpellBook:GetSpell(357213) |
||||
local Disintegrate = Bastion.SpellBook:GetSpell(356995) |
||||
local DragonRage = Bastion.SpellBook:GetSpell(357213) |
||||
local EssenceBurst = Bastion.SpellBook:GetSpell(359618) |
||||
local EternitySurge = Bastion.SpellBook:GetSpell(359073) |
||||
local FireBreath = Bastion.SpellBook:GetSpell(357208) |
||||
local LivingFlame = Bastion.SpellBook:GetSpell(361469) |
||||
local ShatteringStar = Bastion.SpellBook:GetSpell(370452) |
||||
|
||||
|
||||
|
||||
local ClosestEnemy = Bastion.UnitManager:CreateCustomUnit('closestEnemy', function(unit) |
||||
local leastDist = math.huge |
||||
local closest = nil |
||||
|
||||
Bastion.UnitManager:EnumEnemies(function(unit) |
||||
if unit:IsDead() then |
||||
return false |
||||
end |
||||
|
||||
if Player:GetDistance(unit) > 40 then |
||||
return false |
||||
end |
||||
|
||||
if not Player:CanSee(unit) then |
||||
return false |
||||
end |
||||
|
||||
local dist = Player:GetDistance(unit) |
||||
if dist < leastDist then |
||||
closest = unit |
||||
leastDist = dist |
||||
end |
||||
end) |
||||
|
||||
if not closest then |
||||
closest = None |
||||
end |
||||
|
||||
return closest |
||||
end) |
||||
|
||||
local DefaultAPL = Bastion.APL:New("default") |
||||
local IdleAPL = Bastion.APL:New("idle") |
||||
local HealingAPL = Bastion.APL:New("healing") |
||||
|
||||
IdleAPL:AddSpell( |
||||
BlessingOfTheBronze:CastableIf(function(self) |
||||
return self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() and not Player:GetAuras():FindMyAura(BlessingOfTheBronzeBuff):IsUp() |
||||
end):SetTarget(Player):PreCast(function(self) |
||||
Bastion.Notifications:AddNotification(BlessingOfTheBronze:GetIcon(), "BlessingOfTheBronze") |
||||
end) |
||||
) |
||||
|
||||
DefaultAPL:AddSpell( |
||||
DragonRage:CastableIf(function(self) |
||||
return Target:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() and Player:GetEnemies(25) > 2 |
||||
end):SetTarget(Player):PreCast(function(self) |
||||
Bastion.Notifications:AddNotification(DragonRage:GetIcon(), "DragonRage") |
||||
end) |
||||
) |
||||
|
||||
|
||||
DefaultAPL:AddSpell( |
||||
FireBreath:CastableIf(function(self) |
||||
return ClosestEnemy:Exists() and ClosestEnemy:IsHostile() and not ClosestEnemy:IsDead() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() |
||||
end):SetTarget(ClosestEnemy):PreCast(function(self) |
||||
Bastion.Notifications:AddNotification(FireBreath:GetIcon(), "FireBreath") |
||||
if not Player:IsWithinCone(ClosestEnemy, 90, 40) then |
||||
SetHeading(Player:GetAngle(ClosestEnemy)) |
||||
end |
||||
end) |
||||
) |
||||
|
||||
DefaultAPL:AddSpell( |
||||
ShatteringStar:CastableIf(function(self) |
||||
return ClosestEnemy:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() |
||||
end):SetTarget(ClosestEnemy):PreCast(function(self) |
||||
Bastion.Notifications:AddNotification(ShatteringStar:GetIcon(), "ShatteringStar") |
||||
if not Player:IsWithinCone(ClosestEnemy, 90, 40) then |
||||
SetHeading(Player:GetAngle(ClosestEnemy)) |
||||
end |
||||
end) |
||||
) |
||||
|
||||
DefaultAPL:AddSpell( |
||||
EssenceBurst:CastableIf(function(self) |
||||
return ClosestEnemy:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() |
||||
end):SetTarget(ClosestEnemy):PreCast(function(self) |
||||
Bastion.Notifications:AddNotification(EssenceBurst:GetIcon(), "EssenceBurst") |
||||
if not Player:IsWithinCone(ClosestEnemy, 90, 40) then |
||||
SetHeading(Player:GetAngle(ClosestEnemy)) |
||||
end |
||||
end) |
||||
) |
||||
|
||||
DefaultAPL:AddSpell( |
||||
EternitySurge:CastableIf(function(self) |
||||
return ClosestEnemy:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() |
||||
end):SetTarget(ClosestEnemy):PreCast(function(self) |
||||
Bastion.Notifications:AddNotification(EternitySurge:GetIcon(), "EternitySurger") |
||||
if not Player:IsWithinCone(ClosestEnemy, 90, 40) then |
||||
SetHeading(Player:GetAngle(ClosestEnemy)) |
||||
end |
||||
end) |
||||
) |
||||
|
||||
DefaultAPL:AddSpell( |
||||
LivingFlame:CastableIf(function(self) |
||||
return ClosestEnemy:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() and (Player:GetPower(PowerType) < Player:GetMaxPower(PowerType)) |
||||
end):SetTarget(ClosestEnemy):PreCast(function(self) |
||||
Bastion.Notifications:AddNotification(LivingFlame:GetIcon(), "LivingFlame") |
||||
if not Player:IsWithinCone(ClosestEnemy, 90, 40) then |
||||
SetHeading(Player:GetAngle(ClosestEnemy)) |
||||
end |
||||
end) |
||||
) |
||||
|
||||
DefaultAPL:AddSpell( |
||||
Disintegrate:CastableIf(function(self) |
||||
return ClosestEnemy:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() |
||||
end):SetTarget(ClosestEnemy):PreCast(function(self) |
||||
Bastion.Notifications:AddNotification(Disintegrate:GetIcon(), "Disintegrate") |
||||
if not Player:IsWithinCone(ClosestEnemy, 90, 40) then |
||||
SetHeading(Player:GetAngle(ClosestEnemy)) |
||||
end |
||||
end) |
||||
) |
||||
|
||||
|
||||
CiscOHSpec1467:Sync(function() |
||||
if Player:GetCastingOrChannelingSpell() == FireBreath and Player:GetEmpoweredStage() == 2 then |
||||
Bastion.Notifications:AddNotification(FireBreath:GetIcon(), "FireBreath Empowered Release") |
||||
FireBreath:ForceCast(None) |
||||
end |
||||
|
||||
if Player:GetCastingOrChannelingSpell() == EternitySurge and Player:GetEmpoweredStage() == 1 then |
||||
Bastion.Notifications:AddNotification(EternitySurge:GetIcon(), "EternitySurge Empowered Release") |
||||
EternitySurge:ForceCast(Target) |
||||
end |
||||
|
||||
if Target:Exists() and Target:IsHostile() and not Target:IsDead() then |
||||
SetHeading(Player:GetAngle(Target)) |
||||
DefaultAPL:Execute() |
||||
end |
||||
IdleAPL:Execute() |
||||
|
||||
end) |
||||
|
||||
Bastion:Register(CiscOHSpec1467) |
Loading…
Reference in new issue