forked from m0rg/RKMacros
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RKPillidian.mac
162 lines (121 loc) · 5.17 KB
/
RKPillidian.mac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#Event HOT_Landed_Self "#*#hot landed self message#*#"
#Event HOT_Landed "#1#'s hot landed message"
#Event HOT_Worn_off_Self "#*#hot wore off self message#*#"
#Event HOT_Worn_off "hot wore off message #1#."
#Event SnareImmune "#*#Your target is immune to changes in its run speed."
#include RKBase.inc
#include RKCasterBase.inc
#include RKHealerBase.inc
Sub Main
/call Init_RKBase
/call AddToArray "CombatActionSubs" "DruidCombat"
/call Init_RKCasterBase
/call Init_RKHealerBase
| *** VARIABLE DECLARATIONS
/varset HealMode FALSE
/varset InCombatStickToCommander TRUE
/declare ShouldSnare bool outer TRUE
/varset UpperAggroThreshold 100
/varset SpellMemSlot 10
/varset HealSpell Daggerthorn Rush Rk. III
/varset TankHealThreshold 90
/varset SingleTargetHealThreshold 80
/varset EmergencyHealSpell Resurgence Rk. III
/varset EmergencyHealThreshold 70
/varset GroupHeal Lunasoothe Rk. III
/varset GroupHealThreshold 93
/varset EmergencyGroupHeal Lunasoothe Rk. II
/varset EmergencyGroupHealThreshold 85
/call AddToArray "InvisModeSubs" "CastGroupInvis"
/call AddToArray "NonCombatSubs" "DruidNonCombat"
/call AddToArray "NonCombatSubs" "CheckCheetah"
/call AddToArray "PreTargetAcquisitionSubs" "CheckCheetah"
/call AddToArray "DefensiveActionSubs" "ExecuteDefensiveActions"
/call AddToArray "BurnCombatActionSubs" "DruidBurnActions"
/call AddToArray "DetrimentalSpells" "Consuming Sunray Rk. III"
/call AddToArray "DetrimentalSpells" "Argent Moonbeam Rk. III"
|/call AddToArray "DetrimentalSpells" "Horde of Aculeids Rk. II"
|/call AddToArray "DetrimentalSpells" "Nature's Fiery Wrath Rk. II"
|/call AddToArray "DetrimentalSpells" "Remote Sunflash Rk. II"
|/call AddToArray "DetrimentalSpells" "Summer Sunfire Rk. II"
|/call AddToArray "DetrimentalSpells" "Dichotomic Winds"
||/call AddToArray "CombatTankBuffs" "Pellicle of the Reptile Rk. II"
|/call AddToArray "NonCombatSelfBuffs" "Legacy of Daggerspurs Rk. II"
|/call AddToArray "NonCombatSelfBuffs" "Mystical Ways Rk. II"
|/call AddToArray "CombatSelfBuffs" "Mystical Ways Rk. II"
|/call AddToArrayWithUniqueName "NonCombatSelfBuffs" "Corpsetender's Unity Rk. II" "Daggerspur Coat Rk. II"
|/call AddToArrayWithUniqueName "NonCombatSelfBuffs" "Corpsetender's Unity Rk. II" "Mask of the Corpsetender Rk. II"
| *** INITIALIZATION
/echo Starting Box Commander - Pillidian Macro
| *** MAIN LOOP
:loop
/call Tick
/goto :loop
/return
Sub DruidNonCombat
|/if (!${Me.Buff[Flight of Eagles].ID}) /call RKAACast "Flight of Eagles"
/if (!${Me.Aura.Equal[Frostweave Aura Rk. II]}) /call RKBuff "Frostweave Aura Rk. II" ${Me.ID}
/return FALSE
Sub DruidCombat
/if (${Me.Casting.ID} || ${Me.Moving}) /return FALSE
/if (${SnareMode} && ${ShouldSnare} && !${Target.Buff[Entrap].ID}) /call RKAACast "Entrap"
/call RKAACast "Fire Storm" ${CurrentTargetId}
/if (${Target.PctHPs} < 20) /return FALSE
/if (!${Target.Buff[Fixation of Ro I].ID}) /call RKAACast "Blessing of Ro" ${CurrentTargetId}
/call RKAACast "Storm Strike" ${CurrentTargetId}
/if (${Target.PctHPs} < 50) /return FALSE
/call RKAACast "Peaceful Spirit of the Wood" ${CurrentTargetId}
/call RKAACast "Wrath of the Wild" ${TankId}
/call RKItemSlotCast chest
/if (!${Bool[${Me.Buff[Improved Twincast III]}]}) /call RKCast "Twincast" ${CurrentTargetId}
/return FALSE
Sub DruidBurnActions
/if (!${Me.Buff[Twincast].ID}) /call RKAACast "Improved Twincast"
/call RKAACast "Swarm of Fireflies" ${TankId}
/call RKAACast "Peaceful Convergence of Spirits" ${TankId}
/call RKAACast "Spirit of the Bear" ${TankId}
/if (!${Me.Buff[Spirit of the Black Wolf V].ID}) {
/call RKAACast "Group Spirit of the Black Wolf"
/if (${Macro.Return}) /return TRUE
}
/if (!${Me.Buff[Group Spirit of the Black Wolf II].ID}) {
/if (${Me.Mount.ID}) {
/dismount
/delay 1s
}
/call RKAACast "Spirit of the Black Wolf"
/if (${Macro.Return}) /return TRUE
}
/call RKAACast "Season's Wrath" ${CurrentTargetId}
/call RKAACast "Focus of Arcanum"
|/call RKAACast "Fundament: First Spire of Nature"
/alt act 1491
/call RKAACast "Nature's Fury"
/call RKAACast "Nature's Guardian"
/call RKAACast "Spirit of the Bear" ${TankId}
/call RKCast "Dichotomic Winds" ${CurrentTargetId}
/return FALSE
Sub CheckCheetah
/if (${DebugMode}) /echo CheckCheetah
/if (${Me.Buff[Communion of the Cheetah].ID} && ${Me.Buff[Communion of the Cheetah].Duration} > 8) /return FALSE
/call RKAACast "Communion of the Cheetah" ${CurrentTargetId}
/delay 5
/call RKAACast "Innate Camouflage"
/return FALSE
Sub ExecuteDefensiveActions
|/if (${GroupHealthPercentage} != 0 && ${GroupHealthPercentage} < 30) /call RKAACast "Exodus"
/if (${Me.PctHPs} < 15) /call RKAACast "Egress"
/if (${Me.PctHPs} < 50) /call RKAACast "Veil of the Underbrush"
/if (${Me.PctHPs} < 70) /call RKAACast "Protection of Direwood"
/if (${Me.PctHPs} < 90) /call RKAACast "Wrath of the Wild" ${CurrentTargetId}
/return FALSE
Sub CastGroupInvis
/if (!${Me.Buff[Shared Camouflage].ID}) /call RKAACast "Shared Camouflage"
/if (${DebugMode}) /echo Group Invis
/return FALSE
Sub ResetSnareMode
/if (${SnareMode}) /varset ShouldSnare TRUE
/return FALSE
Sub Event_SnareImmune
/varset ShouldSnare FALSE
/return