From f3bc78d449d2d7d8b0484f7f286166499e03fc7f Mon Sep 17 00:00:00 2001 From: Dreams Date: Sun, 5 Feb 2023 21:40:17 +0000 Subject: [PATCH] =?UTF-8?q?Dateien=20hochladen=20nach=20=E2=80=9Escripts?= =?UTF-8?q?=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ions - Rogue Assassination PvE (WOTLK).lua | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 scripts/DreamsRotations - Rogue Assassination PvE (WOTLK).lua diff --git a/scripts/DreamsRotations - Rogue Assassination PvE (WOTLK).lua b/scripts/DreamsRotations - Rogue Assassination PvE (WOTLK).lua new file mode 100644 index 0000000..813da18 --- /dev/null +++ b/scripts/DreamsRotations - Rogue Assassination PvE (WOTLK).lua @@ -0,0 +1,173 @@ +local Tinkr, Bastion = ... + +-- Core +local AssassinationModule = Bastion.Module:New('Rogue_Assassination_PvE_WOTLK') +local Player = Bastion.UnitManager:Get('player') +local Target = Bastion.UnitManager:Get('target') +local Focus = Bastion.UnitManager:Get('focus') +local Draw = Tinkr.Util.Draw:New() + +function Round(num, numDecimalPlaces) + return tonumber(string.format("%." .. (numDecimalPlaces or 0) .. "f", num)) +end + +-- Draw +Draw:Sync(function(draw) + local px, py, pz = ObjectPosition('player') + local distance = ObjectDistance('player', 'target') + + draw:Circle(px, py, pz, 5) + draw:SetColor(230, 230, 250) + draw:SetAlpha(50) + + if Target:Exists() then + if Round(distance) <= 6 then + draw:SetColor(144, 238, 144) + draw:SetAlpha(200) + end + end +end) + +-- SpellBook +local SliceAndDice = Bastion.SpellBook:GetSpell(6774) +local Rupture = Bastion.SpellBook:GetSpell(48672) +local HungerForBloodAura = Bastion.SpellBook:GetSpell(63848) +local HungerForBlood = Bastion.SpellBook:GetSpell(51662) +local Vanish = Bastion.SpellBook:GetSpell(26889) +local Overkill = Bastion.SpellBook:GetSpell(58427) +local ColdBlood = Bastion.SpellBook:GetSpell(14177) +local Envenom = Bastion.SpellBook:GetSpell(57993) +local Mutilate = Bastion.SpellBook:GetSpell(48666) +local TricksOfTheTrade = Bastion.SpellBook:GetSpell(57934) +local FanOfKnives = Bastion.SpellBook:GetSpell(51723) +local Kick = Bastion.SpellBook:GetSpell(1766) + +-- Items +local PotionOfSpeed = Bastion.ItemBook:GetItem(40211) + +-- APLs +local PreCombatAPL = Bastion.APL:New('precombat') +local DefaultAPL = Bastion.APL:New('default') + +-- actions.precombat+=/tricks_of_the_trade +PreCombatAPL:AddSpell( + TricksOfTheTrade:CastableIf(function(self) + return Focus:Exists() and self:IsInRange(Focus) and self:IsKnownAndUsable() and Focus:IsAffectingCombat() + end):SetTarget(Focus) +) + +-- actions.precombat+=/potion +PreCombatAPL:AddItem( + PotionOfSpeed:UsableIf(function(self) + return Target:Exists() and self:IsUsable() and Target:IsBoss() and Target:IsAffectingCombat() + end):SetTarget(Player) +) + +-- actions+=/kick +DefaultAPL:AddSpell( + Kick:CastableIf(function(self) + return Target:Exists() and self:IsKnownAndUsable() and self:IsInRange(Target) and Target:IsCastingOrChanneling() + end):SetTarget(Target) +) + +-- actions+=/slice_and_dice,if=buff.slice_and_dice.down +DefaultAPL:AddSpell( + SliceAndDice:CastableIf(function(self) + return Target:Exists() and self:IsKnownAndUsable() and not Player:GetAuras():FindMy(SliceAndDice):IsUp() + end):SetTarget(Target) +) + +-- actions+=/fan_of_knives,if=active_enemies> 3 +DefaultAPL:AddSpell( + FanOfKnives:CastableIf(function(self) + return Target:Exists() and self:IsKnownAndUsable() and Player:GetEnemies(10) >= 3 + end):SetTarget(Target) +) + +-- actions+=/hunger_for_blood,if=buff.hunger_for_blood.down +DefaultAPL:AddSpell( + HungerForBlood:CastableIf(function(self) + return Target:Exists() and self:IsKnownAndUsable() and self:IsInRange(Target) and (not Player:GetAuras():FindMy(HungerForBloodAura):IsUp() or Player:GetAuras():FindMy(HungerForBloodAura):GetRemainingTime() < 5) + end):SetTarget(Target) +) + +-- actions+=/rupture,if=talent.hunger_for_blood.enabled&buff.hunger_for_blood.down +DefaultAPL:AddSpell( + Rupture:CastableIf(function(self) + return Target:Exists() and self:IsKnownAndUsable() and self:IsInRange(Target) and not Player:GetAuras():FindMy(HungerForBloodAura):IsUp() + end):SetTarget(Target) +) + +-- actions+=/vanish,if=talent.overkill.enabled&buff.overkill.down +DefaultAPL:AddSpell( + Vanish:CastableIf(function(self) + return Target:Exists() and self:IsKnownAndUsable() and self:IsInRange(Target) and not Player:GetAuras():FindMy(Overkill):IsUp() + end):SetTarget(Target) +) + +-- actions+=/envenom,if=combo_points.deficit=0&buff.cold_blood.up +DefaultAPL:AddSpell( + Envenom:CastableIf(function(self) + return Target:Exists() and self:IsKnownAndUsable() and self:IsInRange(Target) and Player:GetComboPointsDeficit(Target) < 1 and Player:GetAuras():FindMy(ColdBlood):IsUp() + end):SetTarget(Target) +) + +-- actions+=/cold_blood,if=combo_points.deficit=0 +DefaultAPL:AddSpell( + ColdBlood:CastableIf(function(self) + return Target:Exists() and self:IsKnownAndUsable() and self:IsInRange(Target) and Player:GetComboPointsDeficit(Target) < 1 and Target:IsBoss() + end):SetTarget(Target) +) + +-- actions+=/envenom,if=combo_points.deficit<2&(debuff.envenom.down|energy.time_to_max1 +DefaultAPL:AddSpell( + Mutilate:CastableIf(function(self) + return Target:Exists() and self:IsKnownAndUsable() and self:IsInRange(Target) and Player:GetComboPointsDeficit(Target) > 1 + end):SetTarget(Target) +) + +AssassinationModule:Sync(function() + if not Player:IsAffectingCombat() then + PreCombatAPL:Execute() + end + if Player:IsAffectingCombat() then + DefaultAPL:Execute() + end + + Draw:Enable() +end) +Bastion:Register(AssassinationModule) + +--[[ +## Assassination Rogue +## 16 October 2022 + +actions.precombat+=/tricks_of_the_trade,if=group +actions.precombat+=/potion +actions.precombat+=/stealth +actions.precombat+=/garrote,if=solo + +actions+=/kick +actions+=/slice_and_dice,if=buff.slice_and_dice.down + +actions+=/adrenaline_rush,if=active_enemies>1 +actions+=/blade_flurry,if=active_enemies>1 +actions+=/fan_of_knives,if=active_enemies>1 + +actions+=/rupture,if=talent.hunger_for_blood.enabled&buff.hunger_for_blood.down&debuff.garrote.down +actions+=/hunger_for_blood,if=buff.hunger_for_blood.down +actions+=/shadowmeld,if=talent.overkill.enabled&buff.overkill.down +actions+=/vanish,if=talent.overkill.enabled&buff.overkill.down +actions+=/tricks_of_the_trade,if=group +actions+=/envenom,if=combo_points.deficit=0&buff.cold_blood.up +actions+=/cold_blood,if=combo_points.deficit=0 +actions+=/envenom,if=combo_points.deficit<2&(debuff.envenom.down|energy.time_to_max0 +--]] \ No newline at end of file