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@10
|
17 bars = { },
|
flickerstreak@10
|
18 bindings = { }
|
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 -- pet action bar
|
flickerstreak@8
|
93 [10] = {
|
flickerstreak@7
|
94 visible = true,
|
flickerstreak@7
|
95 parent = "PetActionBarFrame",
|
flickerstreak@7
|
96 size = 30,
|
flickerstreak@7
|
97 spacing = 8,
|
flickerstreak@7
|
98 rows = 1,
|
flickerstreak@7
|
99 columns = 10,
|
flickerstreak@7
|
100 growLeft = false,
|
flickerstreak@7
|
101 growUp = false,
|
flickerstreak@7
|
102 columnMajor = false,
|
flickerstreak@7
|
103 pages = nil,
|
flickerstreak@7
|
104 opacity = 100,
|
flickerstreak@7
|
105 anchor = {
|
flickerstreak@7
|
106 frame = "PetActionBarFrame",
|
flickerstreak@7
|
107 point = "BOTTOMLEFT",
|
flickerstreak@7
|
108 relPoint = "BOTTOMLEFT",
|
flickerstreak@7
|
109 x = 31,
|
flickerstreak@7
|
110 y = -1,
|
flickerstreak@7
|
111 },
|
flickerstreak@7
|
112 btnConfig = tcopy(defaultPetActionConfig),
|
flickerstreak@7
|
113 },
|
flickerstreak@7
|
114
|
flickerstreak@7
|
115 }
|
flickerstreak@7
|
116
|
flickerstreak@7
|
117 -- default settings for action IDs match Blizzard's settings...
|
flickerstreak@7
|
118 -- ... except on the main bar extra pages, which map directly to the default shapeshift IDs
|
flickerstreak@7
|
119 -- rather than mirroring the multi action bars, to give access to all 120 actions
|
flickerstreak@7
|
120 local bars = ReAction_DefaultBlizzardBars
|
flickerstreak@7
|
121
|
flickerstreak@7
|
122 for i = 1, 12 do
|
flickerstreak@7
|
123 bars[1].btnConfig.ids[i] = {
|
flickerstreak@7
|
124 i,
|
flickerstreak@7
|
125 72+i,
|
flickerstreak@7
|
126 84+i,
|
flickerstreak@7
|
127 96+i,
|
flickerstreak@7
|
128 108+i,
|
flickerstreak@7
|
129 12+i
|
flickerstreak@1
|
130 }
|
flickerstreak@7
|
131 end
|
flickerstreak@7
|
132
|
flickerstreak@8
|
133 for i = 1, 10 do
|
flickerstreak@8
|
134 bars[10].btnConfig.ids[i] = { i }
|
flickerstreak@7
|
135 end
|
flickerstreak@7
|
136
|
flickerstreak@7
|
137
|