Mercurial > wow > prospect-me
comparison ProspectMe.lua @ 11:61b9ea84a44c
Added groundwork for Legion mass prospecting and milling.
author | Geoff Brock <mischivin@gmail.com> |
---|---|
date | Wed, 17 Aug 2016 13:41:17 -0400 |
parents | 69b46322ff1b |
children | c5a66cdf45e2 |
comparison
equal
deleted
inserted
replaced
10:7adac5b705e6 | 11:61b9ea84a44c |
---|---|
1 local PROSPECT_ID = 31252 | 1 local PROSPECT_ID = 31252 |
2 local MILLING_ID = 51005 | 2 local MILLING_ID = 51005 |
3 local MASS_PROSPECT_FELSLATE_ID = 225902 | |
4 local MASS_PROSPECT_LEYSTONE_ID = 225902 | |
5 local MASS_MILLING_YSERALLINE_ID = 210116 | |
3 local PROSPECT = GetSpellInfo(PROSPECT_ID) | 6 local PROSPECT = GetSpellInfo(PROSPECT_ID) |
4 local MILLING = GetSpellInfo(MILLING_ID) | 7 local MILLING = GetSpellInfo(MILLING_ID) |
8 local MASS_PROSPECT_FELSLATE = GetSpellInfo(MASS_PROSPECT_FELSLATE_ID) | |
9 local MASS_PROSPECT_LEYSTONE = GetSpellInfo(MASS_PROSPECT_FELSLATE_ID) | |
10 local MASS_MILLING_YSERALLINE = GetSpellInfo(MASS_PROSPECT_FELSLATE_ID) | |
5 local containerID, containerLink = nil, nil | 11 local containerID, containerLink = nil, nil |
6 local getContents = false | 12 local getContents = false |
13 local bulkMultiplier = 1 --This will be used for mass prospecting/milling in Legion | |
7 | 14 |
8 local function PM_Init() | 15 local function PM_Init() |
9 if not PM_ResultsTable then | 16 if not PM_ResultsTable then |
10 PM_ResultsTable = {} | 17 PM_ResultsTable = {} |
11 PM_ItemTable = {} | 18 PM_ItemTable = {} |
70 else | 77 else |
71 PM_SessionTable[containerID][itemID] = quantity | 78 PM_SessionTable[containerID][itemID] = quantity |
72 end | 79 end |
73 end | 80 end |
74 | 81 |
75 PM_ResultsTable[containerID].timesProspected = PM_ResultsTable[containerID].timesProspected + 1 | 82 PM_ResultsTable[containerID].timesProspected = PM_ResultsTable[containerID].timesProspected + bulkMultiplier |
76 PM_SessionTable[containerID].timesProspected = PM_SessionTable[containerID].timesProspected + 1 | 83 PM_SessionTable[containerID].timesProspected = PM_SessionTable[containerID].timesProspected + bulkMultiplier |
77 end | 84 end |
78 | 85 |
79 local function EventHandler(self, event, ...) | 86 local function EventHandler(self, event, ...) |
80 if event == "VARIABLES_LOADED" then | 87 if event == "VARIABLES_LOADED" then |
81 PM_Init() | 88 PM_Init() |
130 end | 137 end |
131 end) | 138 end) |
132 | 139 |
133 hooksecurefunc("CastSpell", function(...) | 140 hooksecurefunc("CastSpell", function(...) |
134 local spellName = GetSpellInfo(...) | 141 local spellName = GetSpellInfo(...) |
135 if spellName:lower() == PROSPECT:lower() or spellName:lower() == MILLING:lower() then | 142 if spellName:lower() == PROSPECT:lower() or spellName:lower() == MILLING:lower() or spellName:lower() == MASS_PROSPECT_FELSLATE:lower() or spellName:lower() == MASS_PROSPECT_LEYSTONE:lower() or spellName:lower() == MASS_MILLING_YSERALLINE :lower () then |
136 getContents = true | 143 getContents = true |
144 if spellName:lower() == MASS_PROSPECT_FELSLATE:lower() or spellName:lower() == MASS_PROSPECT_LEYSTONE:lower() or spellName:lower() == MASS_MILLING_YSERALLINE :lower () then | |
145 bulkMultiplier = 4 | |
146 else | |
147 bulkMultiplier = 1 | |
148 end | |
137 end | 149 end |
138 end) | 150 end) |
139 | 151 |
140 hooksecurefunc("CastSpellByID", function(spellID) | 152 hooksecurefunc("CastSpellByID", function(spellID) |
141 if spellID == PROSPECT_ID or spellID == MILLING_ID then | 153 if spellID == PROSPECT_ID or spellID == MILLING_ID or spellID == MASS_PROSPECT_FELSTATE_ID or spellID == MASS_PROSPECT_LEYSTONE_ID or spellID == MASS_MILLING_YSERALLINE_ID then |
142 getContents = true | 154 getContents = true |
155 if spellID == MASS_PROSPECT_FELSTATE_ID or spellID == MASS_PROSPECT_LEYSTONE_ID or spellID == MASS_MILLING_YSERALLINE_ID then | |
156 bulkMultiplier = 4 | |
157 else | |
158 bulkMultiplier = 1 | |
159 end | |
143 end | 160 end |
144 end) | 161 end) |
145 | 162 |
146 hooksecurefunc("UseAction", function(actionID) | 163 hooksecurefunc("UseAction", function(actionID) |
147 local spellID = select(2, GetActionInfo(actionID)) | 164 local spellID = select(2, GetActionInfo(actionID)) |
148 if spellID == PROSPECT_ID or spellID == MILLING_ID then | 165 if spellID == PROSPECT_ID or spellID == MILLING_ID or spellID == MASS_PROSPECT_FELSTATE_ID or spellID == MASS_PROSPECT_LEYSTONE_ID or spellID == MASS_MILLING_YSERALLINE_ID then |
149 getContents = true | 166 getContents = true |
167 if spellID == MASS_PROSPECT_FELSTATE_ID or spellID == MASS_PROSPECT_LEYSTONE_ID or spellID == MASS_MILLING_YSERALLINE_ID then | |
168 bulkMultiplier = 4 | |
169 else | |
170 bulkMultiplier = 1 | |
171 end | |
150 end | 172 end |
151 end) | 173 end) |
152 | 174 |
153 hooksecurefunc("CastSpellByName", function(spellName, onSelf) | 175 hooksecurefunc("CastSpellByName", function(spellName, onSelf) |
154 if spellName:lower() == PROSPECT:lower() or spellName:lower() == MILLING:lower() then | 176 if spellName:lower() == PROSPECT:lower() or spellName:lower() == MILLING:lower() or spellName:lower() == MASS_PROSPECT_FELSLATE:lower() or spellName:lower() == MASS_PROSPECT_LEYSTONE:lower() or spellName:lower() == MASS_MILLING_YSERALLINE :lower () then |
155 getContents = true | 177 getContents = true |
178 if spellName:lower() == MASS_PROSPECT_FELSLATE:lower() or spellName:lower() == MASS_PROSPECT_LEYSTONE:lower() or spellName:lower() == MASS_MILLING_YSERALLINE :lower () then | |
179 bulkMultiplier = 4 | |
180 else | |
181 bulkMultiplier = 1 | |
182 end | |
156 end | 183 end |
157 end) | 184 end) |