annotate SkeenCore3BeastMasteryHunter.lua @ 5:afd83bc06b1e v1.3.0

Updated to make use of library
author Emil Madsen <skeen@cs.au.dk>
date Sun, 31 Jul 2011 21:52:18 +0200
parents 629e6e84fd18
children a6e2ff3a8f61
rev   line source
skeen@0 1 --
skeen@0 2 -- SkeenCore3BeastMasteryHunter
skeen@0 3 --
skeen@5 4 local LibSkeenCore = LibStub("LibSkeenCore");
skeen@0 5
skeen@0 6 local function Rotation()
skeen@0 7
skeen@0 8 local guid = UnitGUID("target")
skeen@0 9 local puid = UnitGUID("player")
skeen@0 10
skeen@0 11 if UnitName("target") == nil or UnitIsFriend("player","target") ~= nil or UnitHealth("target") == 0 then
skeen@0 12 return nil-- ignore the dead and friendly
skeen@0 13 end
skeen@0 14
skeen@0 15 local spell = {}
skeen@0 16 spell.current = nil
skeen@0 17 spell.next = nil
skeen@0 18 spell.cd1 = nil
skeen@0 19 spell.cd2 = nil
skeen@0 20 spell.cd3 = nil
skeen@0 21 spell.cd4 = nil
skeen@0 22
skeen@0 23 local focus = UnitPower("player")
skeen@0 24
skeen@0 25 --Cooldowns
skeen@5 26 local kill_command_cooldown = LibSkeenCore:GetCooldown(34026) --"Kill Command"
skeen@5 27 local kill_shot_cooldown = LibSkeenCore:GetCooldown(53351) --"Kill Shot"
skeen@5 28 local rapid_fire_cooldown = LibSkeenCore:GetCooldown(3045) --"Rapid Fire"
skeen@5 29 local focus_fire_cooldown = LibSkeenCore:GetCooldown(82692) --"Focus Fire"
skeen@5 30 local fervor_cooldown = LibSkeenCore:GetCooldown(82726) --"Fervor"
skeen@5 31 local bestial_wrath_cooldown = LibSkeenCore:GetCooldown(19574) --"Bestial Wrath"
skeen@0 32
skeen@0 33 --Debuff
skeen@5 34 local serpent_sting_duration = LibSkeenCore:GetDebuffDuration(1978) --"Serpent Sting"
skeen@0 35
skeen@0 36 -- Get the target's health percentage
skeen@0 37 local TargetsPercentOfHealth = (UnitHealth("target") / UnitHealthMax("target") * 100);
skeen@0 38
skeen@0 39 if (kill_command_cooldown < 1) then
skeen@0 40 if (focus >= 40) then
skeen@0 41 spell.current = 34026 --KC
skeen@0 42 else
skeen@0 43 spell.next = 34026 --KC
skeen@0 44 end
skeen@0 45 elseif (serpent_sting_duration < 1) then
skeen@0 46 if (focus >= 25) then
skeen@0 47 spell.current = 1978 --SS;
skeen@0 48 else
skeen@0 49 spell.next = 1978 --SS;
skeen@0 50 end
skeen@0 51 elseif ((TargetsPercentOfHealth < 20) and (kill_shot_cooldown<1)) then
skeen@0 52 spell.current = 53351 --Kill Shot
skeen@0 53 elseif (focus >= 25) then
skeen@0 54 spell.current = 3044 --Arcane Shot
skeen@0 55 else
skeen@0 56 spell.current = 77767 --Cobra Shot
skeen@0 57 end
skeen@0 58
skeen@0 59 if (rapid_fire_cooldown < 1) then
skeen@0 60 spell.cd1 = 3045 --Rapid fire
skeen@0 61 end
skeen@0 62
skeen@0 63 if (focus_fire_cooldown < 1) then
skeen@0 64 spell.cd2 = 82692 --Focus fire
skeen@0 65 end
skeen@0 66
skeen@0 67 if (fervor_cooldown < 1) then
skeen@0 68 spell.cd3 = 82726 --Fervor
skeen@0 69 end
skeen@0 70
skeen@0 71 if (bestial_wrath_cooldown < 1) then
skeen@0 72 spell.cd4 = 19574 --Bestial Wrath
skeen@0 73 end
skeen@0 74
skeen@0 75 return spell
skeen@0 76 end
skeen@0 77
skeen@0 78 local SkeenCore3 = _G["SkeenCore3"]
skeen@0 79
skeen@0 80 local SkeenPlugin = {}
skeen@0 81 SkeenPlugin.Name = "SkeenCore3BeastMasteryHunter"
skeen@0 82 SkeenPlugin.Class = "HUNTER"
skeen@0 83 SkeenPlugin.Spec = 1
skeen@0 84 SkeenPlugin.Version = 1.00
skeen@0 85 SkeenPlugin.Rotation = Rotation
skeen@0 86 --SkeenPlugin.Plugin_Active = Plugin_Active
skeen@0 87
skeen@0 88 SkeenCore3:RegisterPlugin(SkeenPlugin)
skeen@0 89