Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local function PvP()
- local PVP, TotemKill, PreCombat, Survival, Cooldowns, Combat, InCombat, OutofCombat
- PVP = function()
- --{"!Every Man for Himself", "UI(medal) & state(stun)", "player"},
- --{"!Gladiator's Medallion", "UI(medal) & target.player & target.canAttack & {player.state(stun) & player.spell(Every Man for Himself)cooldown > 0 & player.race = Human || player.state(stun) & !player.race = Human || player.state(fear) || player.state(disorient) || player.state(charm)}", "player"},
- --{"Spellsteal", "distance < 40 & UI(st_buff) & bts & {player.mana >= 25 || player.buff(Innervate)}", eTargets},
- end
- TotemKill = function()
- if Target:IsTotem() then
- --{"!Pyroblast", "distance < 40 & spell(Pyroblast).casttime==0 & infront(player)", "totems"},
- if S.Pyroblast:CanCast(Target, true) and Player:Buff(S.HotStreakBuff) then
- return S.Pyroblast:Cast(Target, true)
- end
- --{"*Fire Blast", "distance 40 & infront(player)", "totems"},
- if S.FireBlast:CanCast(Target) then
- return S.FireBlast:Cast(Target)
- end
- --{"!Phoenix's Flames", "distance < 40 & player.spell(Phoenix's Flames).charges >= 1 & infront(player)", "totems"},
- if S.PhoenixFlames:CanCast(Target, true) then
- return S.PhoenixFlames:Cast(Target, true)
- end
- --{"!Scorch", "distance < 40 & infront(player)", "totems"},
- if S.Scorch:CanCast(Target, true) then
- return S.Scorch:Cast(Target, true)
- end
- end
- end
- PreCombat = function()
- --{"Blazing Barrier", "buff(Blazing Barrier).duration <= 5 & player.moving", "player"},
- if Player:IsMoving() and Player:BuffRemains(S.BlazingBarrier) <= 5 and S.BlazingBarrier:CanCast(Player) then
- return S.BlazingBarrier:Cast(Player)
- end
- --{"Arcane Intellect", "!buff.any & player & player.moving", "player"},
- if Player:IsMoving() and Player:Buff(S.ArcaneIntellect, true) and S.ArcaneIntellect:CanCast(Player) then
- return S.ArcaneIntellect:Cast(Player)
- end
- --{"Flamestrike", "toggle(AoE) & distance < 40 & spell(Flamestrike).casttime==0 & all.enemies(10).area >= UI(flstrike_aoe_spin) & UI(flstrike_aoe_spin)", "target.ground"},
- if S.Flamestrike:CanCast(Target) and Automata.AoEON() and Player:Buff(S.HotStreakBuff) and Target:EnemiesAround(10) >= Automata.GetClassDB(63, "FlamestrikePvP").Value then
- return S.Flamestrike:Cast(Target), 'PreCombat Flame'
- end
- --{"!Flamestrike", "toggle(AoE) & distance < 40 & spell(Flamestrike).casttime==0 & all.enemies(10).area >= UI(flstrike_aoe_spin) & UI(flstrike_aoe_spin) & player.buff(Hot Streak!).duration <= 1", "target.ground"},
- if S.Flamestrike:CanCast(Target, true) and Automata.AoEON() and Player:Buff(S.HotStreakBuff) and Player:BuffRemains(S.HotStreakBuff) <= 1 and Target:EnemiesAround(10) >= Automata.GetClassDB(63, "FlamestrikePvP").Value then
- return S.Flamestrike:Cast(Target, true), 'Pre Combat Insta'
- end
- end
- Survival = function()
- --TODO
- --{"!Ice Block", "area(40).enemies >= 1 & incdmg.phys(5) >= health.max*0.02 & {player.health <= UI(ice_health_spin) & UI(ice_health_check) || player.debuff(Cauterize) & UI(cool_down) || player.state(stun) & player.spell(Every Man for Himself).cooldown > 0 & player.spell(Gladiator's Medallion).cooldown > 0 & !player.lastcast(Gladiator's Medallion) & UI(ice_stun)}", "player"},if S.IceBlock:CanCast(Player) and Player:EnemiesAround(40) >= 1 and
- --{"!Temporal Shield", "player.health <= UI(temp_shield_spin) & UI(temp_shield_check) & area(40).enemies >= 1 & player.incdmg(3) >= player.health.max*0.04", "player"},
- --{"!Dragon's Breath", "toggle(cr) & canAttack & !enemy_totem & distance <= 8 & infront(player) & !debuff & !debuff(Frost Nova) & !pvp.area & timeout(dr, 1)", "enemies"},
- if S.DragonsBreath:CanCast(Target, true) and not Target:CantMove() then
- return S.DragonsBreath:Cast(Target, true)
- end
- --{"!Dragon's Breath", "toggle(cr) & canAttack & !enemy_totem & distance <= 8 & infront(player) & !debuff & !debuff(Frost Nova) & player & pvp.area & timeout(dr, 1)", "enemies"},
- --{"!Frost Nova", "toggle(cr) & canAttack & !enemy_totem & distance <= 8 & !debuff & !debuff(Dragon's Breath) & !pvp.area & timeout(fn, 1)", "enemies"},
- if S.FrostNova:CanCast(Target, true) and not Target:CantMove() then
- return S.FrostNova:Cast(Target, true)
- end
- --{"!Frost Nova", "toggle(cr) & canAttack & !enemy_totem & distance <= 8 & !debuff & !debuff(Dragon's Breath) & player & pvp.area & timeout(fn, 1)", "enemies"},
- --{"Blazing Barrier", "!buff(Ice Block) & buff.duration < 3 & {player.incdmg(7) >= player.health.max*0.1 & !player.buff(Rune of Power) & !player.buff(Combustion) || target.player & target.canAttack}", "player"},
- --{"#5512", "item(5512).count >= 1 & health <= UI(hs_spin) & UI(hs_check) & area(40).enemies >= 1", "player"}, --Health Stone
- end
- Cooldowns = function()
- --{"Time Warp", "target.range < 40 & toggle(tw)", "player"},
- --{"Rune of Power", "target.range < 40 & !player.moving & !buff(Combustion) & UI(rop)", "player"},
- if not Player:IsMoving() and S.RuneofPower:CanCast(Player) and Player:DistanceTo(Target) <= 40 then
- return S.RuneofPower:Cast(Player)
- end
- --{"Blood Fury", 'target.range < 40'},
- if S.BloodFury:CanCast(Target) then
- return S.BloodFury:Cast(Target)
- end
- --{"*Combustion", "target.range < 40 & UI(fire_man) & {target.health <= 90 || !talent(1,1)} & {talent(3,3) & {!UI(rop) || player.buff(Rune of Power) || player.spell(Rune of Power).charges < 1} || !talent(3,3)}", "player"},
- --{"Memory of Lucid Dreams", "target.range < 40 & UI(fire_man)", "player"},
- --{"Meteor", "target.range < 40 & target.canAttack & !target.moving & !target.player & {!player.spell(Rune of Power).cooldown <= 8 & talent(3,3) || !talent(3,3)} & UI(mete)", "target.ground"},
- if S.Meteor:CanCast(Target) and not Target:IsMoving() and ((S.RuneofPower:IsAvailable() and S.RuneofPower:CooldownRemains() <= 8) or not S.RuneofPower:IsAvailable()) then
- return S.Meteor:Cast(Target)
- end
- --{"#trinket1", "target.range < 40 & UI(trk1)"},
- --{"#trinket2", "target.range < 40 & UI(trk2)"},
- end
- Combat = function()
- --{"!Pyroblast", "distance < 40 & canAttack & infront(player) & spell(Pyroblast).casttime==0 & !debuff(Polymorph) & !debuff(Dragon's Breath)", "target"},
- if S.Pyroblast:CanCast(Target, true) and Player:Buff(S.HotStreakBuff) and not Target:CantMove() and not Target:Debuff(S.DragonsBreath) then
- return S.Pyroblast:Cast(Target, true)
- end
- --{"Meteor", "toggle(AoE) & distance < 40 & !player & !moving & rangebetween(target) <= 15 & area(10).enemies >= UI(mete_aoe_spin) & UI(mete_aoe_check)", "mostenemies.ground"},
- --Check if got this right.
- if S.Meteor:CanCast(Target) and Automata.AoEON() and Target:EnemiesAround(10) >= 2 then
- return S.Meteor:Cast(Target)
- end
- --{"Meteor", "distance < 40 & canAttack & player & {target.state(root) || target.state(stun) || target.state(disorient) || target.state(incapacitate)}", "target.ground"},
- if S.Meteor:CanCast(Target) and Automata.AoEON() and Target:CantMove() and Target:CantMoveDuration() >= 2.5 then
- return S.Meteor:Cast(Target)
- end
- --{"Flamestrike", "toggle(AoE) & distance < 40 & spell(Flamestrike).casttime==0 & infront(player) & area(10).enemies >= UI(flstrike_aoe_spin) & UI(flstrike_aoe_spin)", "enemies"},
- if S.Flamestrike:CanCast(Target) and Automata.AoEON() and Player:Buff(S.HotStreakBuff) and Target:EnemiesAround(10) >= Automata.GetClassDB(63, "FlamestrikePvP").Value then
- return S.Flamestrike:Cast(Target), 'Combat Flame'
- end
- --{"!Phoenix Flames", "distance < 40 & canAttack & infront(player) & !spell(Pyroblast).casttime==0 & !debuff(Polymorph) & !debuff(Dragon's Breath) & !player.casting(Polymorph) & !player.casting(Greater Pyroblast) &
- --{player.buff(Heating Up) || player.spell(Phoenix Flames).charges >= 2 & {talent(1,1) & target.health <= 90 || !talent(1,1) || target.player} || player.spell(Fire Blast).charges >= 1 & {talent(1,1) & target.health <= 90 || !talent(1,1) || target.player}}", "target"},
- if not Player:IsCasting(S.Polymorph) and not Player:IsCasting(S.GreaterPyroblast) and S.PhoenixFlames:CanCast(Target, true) and Player:Buff(S.HotStreakBuff) and (Player:Buff(S.HeatingUpBuff) or S.PhoenixFlames:Charges() >= 2 and (bool(S.Firestarter:ActiveStatus()) or Target:IsTargeting(Player)) or S.FireBlast:Charges() >= 1 and (bool(S.Firestarter:ActiveStatus()) or Target:IsTargeting(Player)))then
- return S.PhoenixFlames:Cast(Target)
- end
- --{"*Fire Blast", "distance < 40 & canAttack & infront(player) & !spell(Pyroblast).casttime==0 & !debuff(Polymorph) & !debuff(Dragon's Breath) & !player.casting(Polymorph) &
- --!player.casting(Greater Pyroblast) & {player.buff(Heating Up) & {talent(1,1) & target.health <= 90 || !talent(1,1) || target.player}|| player.spell(Phoenix Flames).charges >= 1 } ", "target"},
- if not Player:IsCasting(S.Polymorph) and not Player:IsCasting(S.GreaterPyroblast) and S.FireBlast:CanCast(Target) and Player:Buff(S.HotStreakBuff) and (Player:Buff(S.HeatingUpBuff) and (bool(S.Firestarter:ActiveStatus() or Target:IsTargeting(Player) or S.PhoenixFlames:Charges() <= 1))) then
- return S.FireBlast:Cast(Target)
- end
- --{"Living Bomb", "distance < 40 & canAttack & !toggle(AoE)", "target"},
- if S.LivingBomb:CanCast(Target) and not Automata.AoEON() then
- return S.LivingBomb:Cast(Target)
- end
- --{"Living Bomb", "distance < 40 & canAttack & toggle(AoE)", "lowestenemy"},
- if Automata.AoEON() and S.LivingBomb:CastCycleIf(function(target) return target:TimeToDie() end, function(target) return target:IsPlayer() end, 'Enemies' ) then
- return true
- end
- --{"Fireball", "{talent(1,3) & !target.health <= 20} & distance < 40 & canAttack & infront(player) & !player.moving & {player.buff(Combustion).duration < spell(Scorch).casttime}", "target"},
- if S.Fireball:CanCast(Target) and (S.SearingTouch:IsAvailable() and Target:HealthPercentage() > 20 and Player:BuffRemains(S.CombustionBuff) < S.Scorch:CastTime()) then
- return S.Fireball:Cast(Target)
- end
- --{"Scorch", "distance < 40 & canAttack & infront(player)", "target"},
- if S.Scorch:CanCast(Target) then
- return S.Scorch:Cast(Target)
- end
- end
- InCombat = function()
- --{"%pause", "buff(Ice Block)", "player"},
- if Player:Buff(S.IceBlock) then
- return true
- end
- --{"!/stopcasting", "player.buff(Invisibility)", "player"},
- --{pvp, "!player.buff(Invisibility)"},
- if not Player:Buff(S.Invisibility) then
- local ShouldReturn = PVP(); if ShouldReturn then return ShouldReturn; end
- end
- --{Keybinds},
- --{Interrupts, "toggle(interrupts) & !target.casting(Vengeful Wail) & !target.casting(Runic Empowerment) & !player.buff(Invisibility) & !target.immune_spell & !target.immune_all"},
- --{Survival, "player.health <= 100 & !player.buff(Invisibility)"},
- if true then
- local ShouldReturn = PVP(); if ShouldReturn then return ShouldReturn; end
- end
- --{"Greater Pyroblast", "distance < 40 & canAttack & infront(player) & debuff(Polymorph) & timeout(pyromorph, 6)", "target"},
- --{"%pause", "target.immune_all || target.immune_spell || target.debuff(Polymorph)", "player"},
- --{Cooldowns, "toggle(cooldowns) & target.canAttack & !player.casting(Rune of Power) & !player.buff(Invisibility) & !target.debuff(Polymorph)"},
- if Target:Exists() and Player:CanAttack(Target) and not Player:IsCasting(S.RuneofPower) then
- local ShouldReturn = Cooldowns(); if ShouldReturn then return ShouldReturn; end
- end
- --{TotemKill},
- if true then
- local ShouldReturn = TotemKill(); if ShouldReturn then return ShouldReturn; end
- end
- --{Combat, "!player.buff(Invisibility) & !target.debuff(Polymorph) & !player.casting(Rune of Power)"},
- if not Player:IsCasting(S.RuneofPower) then
- local ShouldReturn = Combat(); if ShouldReturn then return ShouldReturn; end
- end
- return true
- end
- OutofCombat = function()
- --{"%pause", "buff(Ice Block)", "player"},
- if Player:Buff(S.IceBlock) then
- return true
- end
- --{"!/stopcasting", "player.buff(Invisibility)", "player"},
- --{Keybinds},
- --{pvp, "!player.buff(Invisibility)"},
- if true then
- local ShouldReturn = PVP(); if ShouldReturn then return ShouldReturn; end
- end
- --{TotemKill},
- if true then
- local ShouldReturn = TotemKill(); if ShouldReturn then return ShouldReturn; end
- end
- --{"Greater Pyroblast", "distance < 40 & canAttack & infront(player) & spell.casttime > 0 & debuff(Polymorph) & timeout(pyromorph, 6)", "target"},
- if S.GreaterPyroblast:CanCast(Target) and Target:LossControl() and Target:LossControlDuration() >= S.GreaterPyroblast:CastTime() - 0.5 then
- return S.GreaterPyroblast(Target)
- end
- --{"%pause", "target.immune_all || target.immune_spell || target.debuff(Polymorph)", "player"},
- --{Combat, "UI(burst_key) & target.player & target.canAttack & !player.casting(Rune of Power) & !target.immune_all & !target.immune_spell & !player.buff(Invisibility) & !target.debuff(Polymorph)"},
- --if Automata:CDsON() then
- -- if true then
- -- local ShouldReturn = Combat(); if ShouldReturn then return ShouldReturn; end
- --end
- --end
- --{PreCombat, "!player.buff(Invisibility)"},
- if not Player:Buff(S.Invisibility) then
- local ShouldReturn = PreCombat(); if ShouldReturn then return ShouldReturn; end
- end
- return true
- end
- if not Player:AffectingCombatAPI() then
- return OutofCombat()
- end
- return InCombat()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement