Hotkeys = 12
MacroActive = 0
BossActive = 0
Active = 0
LoadHotkeyTimers
LINE (100, 300)-(150, 350), 2, BF
LINE (300, 300)-(350, 350), 4, BF
LINE (500, 300)-(550, 350), 1, BF
LINE (100, 400)-(550, 450), 14, BF
IF BossActive
= 1 THEN BossSpells
(Hotkeys
) ActiveClock = ActiveClock - 1
IF ActiveClock
= 0 THEN Active
= 0
CALL Delay
("Battle active in:", 30) MacroActive = 1
ClearClock = 0
CALL Delay
("Boss active in:", 30) MacroActive = 1
BossActive = 1
ClearClock = 0
MacroActive = 0
BossActive = 0
ClearTimers (Hotkeys)
Active = 0
ActiveClock = 0
ClearClock = 1
PRINT "Cleared cooldown timers "
UpdateClocks (Hotkeys)
SUB ClearTimers
(HotKeys
) HotKey(x).CoolDownClock = 0
SUB Delay
(Msg$
, TimeDelay
) PRINT Msg$; TimeDelay
/ 10 TimeDelay = TimeDelay - 1
SUB UpdateClocks
(Hotkeys
) IF HotKey
(x
).CoolDownClock
> 0 THEN HotKey
(x
).CoolDownClock
= HotKey
(x
).CoolDownClock
- 1
PRINT HotKey
(x
).CoolDownClock;
" " PRINT HotKey
(x
).CoolDownClock;
" " PRINT HotKey
(x
).CoolDownClock;
' runs through hotbar and casts first ability off cooldown
IF Active
= 0 AND HotKey
(x
).CoolDownClock
= 0 AND HotKey
(x
).CastTime
<> 0 THEN Active = 1
PRINT "Casting "; HotKey
(x
).SpellName;
" "
HotKey(x).CoolDownClock = HotKey(x).CastTime + HotKey(x).Cooldown
ActiveClock = HotKey(x).CastTime
FOR x
= Hotkeys
+ 1 TO Hotkeys
* 2 IF Active
= 0 AND HotKey
(x
).CoolDownClock
= 0 AND HotKey
(x
).CastTime
<> 0 THEN Active = 1
PRINT "Casting "; HotKey
(x
).SpellName;
" "; x
- 12;
CHR$(x
- 12)
HotKey(x).CoolDownClock = HotKey(x).CastTime + HotKey(x).Cooldown
ActiveClock = HotKey(x).CastTime
'This is where you would set cast time and cooldown time
'if spell is a DOT and the duration of the dot is greater than the cooldown then use duration as cooldown
MaxActive = 2
HotKey(1).SpellName = "Dooming Darkess IV"
HotKey(2).SpellName = "Vampire Bats VIII"
HotKey(3).SpellName = "Bloodcoil XI"
HotKey(4).SpellName = "Soulroot XII"
HotKey(5).SpellName = "Pandemic XI"
HotKey(6).SpellName = "Lifetap IX"
HotKey(7).SpellName = "Arcane Bewilderment"
HotKey(8).SpellName = "Animated Dagger"
HotKey(9).SpellName = "Smite of Consistency"
HotKey(10).SpellName = "Energy Clash"
HotKey(11).SpellName = "Edit Me"
HotKey(12).SpellName = "Edit Me"
HotKey(1).CastTime = 10
HotKey(2).CastTime = 15
HotKey(3).CastTime = 10
HotKey(4).CastTime = 15
HotKey(5).CastTime = 20
HotKey(6).CastTime = 15
HotKey(7).CastTime = 10
HotKey(8).CastTime = 10
HotKey(9).CastTime = 10
HotKey(10).CastTime = 10
HotKey(11).CastTime = 0
HotKey(12).CastTime = 0
HotKey(1).Cooldown = 252
HotKey(2).Cooldown = 252
HotKey(3).Cooldown = 278
HotKey(4).Cooldown = 17
HotKey(5).Cooldown = 76
HotKey(6).Cooldown = 45
HotKey(7).Cooldown = 300
HotKey(8).Cooldown = 150
HotKey(9).Cooldown = 60
HotKey(10).Cooldown = 300
HotKey(11).Cooldown = 1
HotKey(12).Cooldown = 1
'Priority spells (boss battles)
HotKey(13).SpellName = "UndeadHorde VI"
HotKey(14).SpellName = "Awaken Grave VIII"
HotKey(15).SpellName = "Blighted Horde IX"
HotKey(16).SpellName = "Vampirism"
HotKey(17).SpellName = "Bloatfly"
HotKey(18).SpellName = "Desiccation"
HotKey(19).SpellName = "Exsanguination"
HotKey(20).SpellName = "Virulent Outbreak"
HotKey(21).SpellName = "Withering"
HotKey(22).SpellName = "Toxic Life"
HotKey(23).SpellName = "Edit Me"
HotKey(24).SpellName = "Edit Me"
HotKey(13).CastTime = 15
HotKey(14).CastTime = 15
HotKey(15).CastTime = 15
HotKey(16).CastTime = 20
HotKey(17).CastTime = 30
HotKey(18).CastTime = 25
HotKey(19).CastTime = 30
HotKey(20).CastTime = 40
HotKey(21).CastTime = 50
HotKey(22).CastTime = 45
HotKey(23).CastTime = 0
HotKey(24).CastTime = 0
HotKey(13).Cooldown = 3010
HotKey(14).Cooldown = 300
HotKey(15).Cooldown = 300
HotKey(16).Cooldown = 910
HotKey(17).Cooldown = 2210
HotKey(18).Cooldown = 2560
HotKey(19).Cooldown = 2060
HotKey(20).Cooldown = 1510
HotKey(21).Cooldown = 1660
HotKey(22).Cooldown = 2260
HotKey(23).Cooldown = 1
HotKey(24).Cooldown = 1