flickerstreak@7
|
1 local function tcopy(t)
|
flickerstreak@7
|
2 local r = { }
|
flickerstreak@7
|
3 for k, v in pairs(t) do
|
flickerstreak@7
|
4 r[k] = (type(v) == "table" and tcopy(v) or v)
|
flickerstreak@7
|
5 end
|
flickerstreak@7
|
6 return r
|
flickerstreak@7
|
7 end
|
flickerstreak@7
|
8
|
flickerstreak@1
|
9 -- ReAction default variable tables
|
flickerstreak@7
|
10 local defaultActionConfig = ReAction:GetButtonType("Action"):GetDefaultProfile()
|
flickerstreak@7
|
11 local defaultPetActionConfig = ReAction:GetButtonType("Pet Action"):GetDefaultProfile()
|
flickerstreak@1
|
12
|
flickerstreak@1
|
13
|
flickerstreak@7
|
14 -- default saved variables
|
flickerstreak@7
|
15 ReAction_DefaultProfile = {
|
flickerstreak@7
|
16 hideArt = false,
|
flickerstreak@7
|
17
|
flickerstreak@7
|
18 bars = { }
|
flickerstreak@1
|
19 }
|
flickerstreak@1
|
20
|
flickerstreak@7
|
21 ReAction_DefaultBarConfig = {
|
flickerstreak@7
|
22 ["ReAction"] = {
|
flickerstreak@7
|
23 ["Action"] = {
|
flickerstreak@7
|
24 visible = true,
|
flickerstreak@1
|
25 size = 36,
|
flickerstreak@1
|
26 spacing = 6,
|
flickerstreak@1
|
27 rows = 1,
|
flickerstreak@1
|
28 columns = 12,
|
flickerstreak@7
|
29 pages = nil,
|
flickerstreak@1
|
30 opacity = 100,
|
flickerstreak@7
|
31 anchor = {
|
flickerstreak@7
|
32 frame = "UIParent",
|
flickerstreak@7
|
33 point = "CENTER",
|
flickerstreak@7
|
34 relPoint = "CENTER",
|
flickerstreak@7
|
35 x = 0,
|
flickerstreak@7
|
36 y = 0,
|
flickerstreak@1
|
37 },
|
flickerstreak@7
|
38 btnConfig = tcopy(defaultActionConfig)
|
flickerstreak@7
|
39 },
|
flickerstreak@7
|
40 ["Pet Action"] = {
|
flickerstreak@7
|
41 visible = true,
|
flickerstreak@7
|
42 parent = "PetActionBarFrame",
|
flickerstreak@7
|
43 size = 30,
|
flickerstreak@7
|
44 spacing = 8,
|
flickerstreak@7
|
45 rows = 1,
|
flickerstreak@7
|
46 columns = 10,
|
flickerstreak@7
|
47 pages = nil,
|
flickerstreak@7
|
48 opacity = 100,
|
flickerstreak@7
|
49 anchor = {
|
flickerstreak@7
|
50 frame = "UIParent",
|
flickerstreak@7
|
51 point = "CENTER",
|
flickerstreak@7
|
52 relPoint = "CENTER",
|
flickerstreak@7
|
53 x = 0,
|
flickerstreak@7
|
54 y = 0,
|
flickerstreak@7
|
55 },
|
flickerstreak@7
|
56 btnConfig = tcopy(defaultPetActionConfig),
|
flickerstreak@7
|
57 }
|
flickerstreak@7
|
58 },
|
flickerstreak@7
|
59 }
|
flickerstreak@1
|
60
|
flickerstreak@7
|
61 -- startup layout replicates Blizzard layout (only set on first-run or reset)
|
flickerstreak@7
|
62 ReAction_DefaultBlizzardBars = {
|
flickerstreak@7
|
63
|
flickerstreak@7
|
64 -- main paged action bar
|
flickerstreak@7
|
65 [1] = {
|
flickerstreak@7
|
66 visible = true,
|
flickerstreak@7
|
67 size = 36,
|
flickerstreak@7
|
68 spacing = 6,
|
flickerstreak@7
|
69 rows = 1,
|
flickerstreak@7
|
70 columns = 12,
|
flickerstreak@7
|
71 growLeft = false,
|
flickerstreak@7
|
72 growUp = false,
|
flickerstreak@7
|
73 columnMajor = false,
|
flickerstreak@7
|
74 pages = {
|
flickerstreak@7
|
75 n = 6,
|
flickerstreak@7
|
76 showControls = true,
|
flickerstreak@7
|
77 controlsLoc = "Blizzard",
|
flickerstreak@7
|
78 autoStanceSwitch = true, -- priests will get a shadowform bar switch, unlike blizzard's
|
flickerstreak@7
|
79 autoStealthSwitch = true, -- this is different from blizzard's layout, only for druids
|
flickerstreak@1
|
80 },
|
flickerstreak@7
|
81 opacity = 100,
|
flickerstreak@7
|
82 anchor = {
|
flickerstreak@7
|
83 frame = "MainMenuBarArtFrame",
|
flickerstreak@7
|
84 point = "BOTTOMLEFT",
|
flickerstreak@7
|
85 relPoint = "BOTTOMLEFT",
|
flickerstreak@7
|
86 x = 3,
|
flickerstreak@7
|
87 y = 0,
|
flickerstreak@7
|
88 },
|
flickerstreak@7
|
89 btnConfig = tcopy(defaultActionConfig),
|
flickerstreak@7
|
90 },
|
flickerstreak@7
|
91
|
flickerstreak@7
|
92 -- multibar right
|
flickerstreak@7
|
93 [2] = {
|
flickerstreak@7
|
94 visible = false,
|
flickerstreak@7
|
95 size = 36,
|
flickerstreak@7
|
96 spacing = 6,
|
flickerstreak@7
|
97 rows = 12,
|
flickerstreak@7
|
98 columns = 1,
|
flickerstreak@7
|
99 growLeft = true,
|
flickerstreak@7
|
100 growUp = false,
|
flickerstreak@7
|
101 columnMajor = true,
|
flickerstreak@7
|
102 pages = nil,
|
flickerstreak@7
|
103 opacity = 100,
|
flickerstreak@7
|
104 anchor = {
|
flickerstreak@7
|
105 frame = "UIParent",
|
flickerstreak@7
|
106 point = "BOTTOMRIGHT",
|
flickerstreak@7
|
107 relPoint = "BOTTOMRIGHT",
|
flickerstreak@7
|
108 x = -4,
|
flickerstreak@7
|
109 y = 95,
|
flickerstreak@7
|
110 },
|
flickerstreak@7
|
111 btnConfig = tcopy(defaultActionConfig),
|
flickerstreak@7
|
112 },
|
flickerstreak@7
|
113
|
flickerstreak@7
|
114 -- multibar left
|
flickerstreak@7
|
115 [3] = {
|
flickerstreak@7
|
116 visible = false,
|
flickerstreak@7
|
117 size = 36,
|
flickerstreak@7
|
118 spacing = 6,
|
flickerstreak@7
|
119 rows = 12,
|
flickerstreak@7
|
120 columns = 1,
|
flickerstreak@7
|
121 growLeft = true,
|
flickerstreak@7
|
122 growUp = false,
|
flickerstreak@7
|
123 columnMajor = true,
|
flickerstreak@7
|
124 pages = nil,
|
flickerstreak@7
|
125 opacity = 100,
|
flickerstreak@7
|
126 anchor = {
|
flickerstreak@7
|
127 frame = "UIParent",
|
flickerstreak@7
|
128 point = "BOTTOMRIGHT",
|
flickerstreak@7
|
129 relPoint = "BOTTOMRIGHT",
|
flickerstreak@7
|
130 x = -51,
|
flickerstreak@7
|
131 y = 95,
|
flickerstreak@7
|
132 },
|
flickerstreak@7
|
133 btnConfig = tcopy(defaultActionConfig),
|
flickerstreak@7
|
134 },
|
flickerstreak@7
|
135
|
flickerstreak@7
|
136 -- multibar bottom right
|
flickerstreak@7
|
137 [4] = {
|
flickerstreak@7
|
138 visible = false,
|
flickerstreak@7
|
139 size = 36,
|
flickerstreak@7
|
140 spacing = 6,
|
flickerstreak@7
|
141 rows = 1,
|
flickerstreak@7
|
142 columns = 12,
|
flickerstreak@7
|
143 growLeft = false,
|
flickerstreak@7
|
144 growUp = false,
|
flickerstreak@7
|
145 columnMajor = false,
|
flickerstreak@7
|
146 pages = nil,
|
flickerstreak@7
|
147 opacity = 100,
|
flickerstreak@7
|
148 anchor = {
|
flickerstreak@7
|
149 frame = "MainMenuBarArtFrame",
|
flickerstreak@7
|
150 point = "BOTTOMLEFT",
|
flickerstreak@7
|
151 relPoint = "BOTTOMLEFT",
|
flickerstreak@7
|
152 x = 514,
|
flickerstreak@7
|
153 y = 53,
|
flickerstreak@7
|
154 },
|
flickerstreak@7
|
155 btnConfig = tcopy(defaultActionConfig),
|
flickerstreak@7
|
156 },
|
flickerstreak@7
|
157
|
flickerstreak@7
|
158 -- multibar bottom left
|
flickerstreak@7
|
159 [5] = {
|
flickerstreak@7
|
160 visible = false,
|
flickerstreak@7
|
161 size = 36,
|
flickerstreak@7
|
162 spacing = 6,
|
flickerstreak@7
|
163 rows = 1,
|
flickerstreak@7
|
164 columns = 12,
|
flickerstreak@7
|
165 growLeft = false,
|
flickerstreak@7
|
166 growUp = false,
|
flickerstreak@7
|
167 columnMajor = false,
|
flickerstreak@7
|
168 pages = nil,
|
flickerstreak@7
|
169 opacity = 100,
|
flickerstreak@7
|
170 anchor = {
|
flickerstreak@7
|
171 frame = "MainMenuBarArtFrame",
|
flickerstreak@7
|
172 point = "BOTTOMLEFT",
|
flickerstreak@7
|
173 relPoint = "BOTTOMLEFT",
|
flickerstreak@7
|
174 x = 3,
|
flickerstreak@7
|
175 y = 53,
|
flickerstreak@7
|
176 },
|
flickerstreak@7
|
177 btnConfig = tcopy(defaultActionConfig),
|
flickerstreak@7
|
178 },
|
flickerstreak@7
|
179
|
flickerstreak@7
|
180 -- pet action bar
|
flickerstreak@7
|
181 [6] = {
|
flickerstreak@7
|
182 visible = true,
|
flickerstreak@7
|
183 parent = "PetActionBarFrame",
|
flickerstreak@7
|
184 size = 30,
|
flickerstreak@7
|
185 spacing = 8,
|
flickerstreak@7
|
186 rows = 1,
|
flickerstreak@7
|
187 columns = 10,
|
flickerstreak@7
|
188 growLeft = false,
|
flickerstreak@7
|
189 growUp = false,
|
flickerstreak@7
|
190 columnMajor = false,
|
flickerstreak@7
|
191 pages = nil,
|
flickerstreak@7
|
192 opacity = 100,
|
flickerstreak@7
|
193 anchor = {
|
flickerstreak@7
|
194 frame = "PetActionBarFrame",
|
flickerstreak@7
|
195 point = "BOTTOMLEFT",
|
flickerstreak@7
|
196 relPoint = "BOTTOMLEFT",
|
flickerstreak@7
|
197 x = 31,
|
flickerstreak@7
|
198 y = -1,
|
flickerstreak@7
|
199 },
|
flickerstreak@7
|
200 btnConfig = tcopy(defaultPetActionConfig),
|
flickerstreak@7
|
201 },
|
flickerstreak@7
|
202
|
flickerstreak@7
|
203 }
|
flickerstreak@7
|
204
|
flickerstreak@7
|
205 -- default settings for action IDs match Blizzard's settings...
|
flickerstreak@7
|
206 -- ... except on the main bar extra pages, which map directly to the default shapeshift IDs
|
flickerstreak@7
|
207 -- rather than mirroring the multi action bars, to give access to all 120 actions
|
flickerstreak@7
|
208 local bars = ReAction_DefaultBlizzardBars
|
flickerstreak@7
|
209
|
flickerstreak@7
|
210 for i = 1, 12 do
|
flickerstreak@7
|
211 bars[1].btnConfig.ids[i] = {
|
flickerstreak@7
|
212 i,
|
flickerstreak@7
|
213 72+i,
|
flickerstreak@7
|
214 84+i,
|
flickerstreak@7
|
215 96+i,
|
flickerstreak@7
|
216 108+i,
|
flickerstreak@7
|
217 12+i
|
flickerstreak@1
|
218 }
|
flickerstreak@7
|
219 end
|
flickerstreak@7
|
220
|
flickerstreak@7
|
221 for b = 2, 5 do
|
flickerstreak@7
|
222 for i = 1, 12 do
|
flickerstreak@7
|
223 bars[b].btnConfig.ids[i] = { 12*(b-1) + i }
|
flickerstreak@7
|
224 end
|
flickerstreak@7
|
225 end
|
flickerstreak@7
|
226
|
flickerstreak@7
|
227 for i = 1, 10 do
|
flickerstreak@7
|
228 bars[6].btnConfig.ids[i] = { i }
|
flickerstreak@7
|
229 end
|
flickerstreak@7
|
230
|
flickerstreak@7
|
231
|