Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9c0705f2d3 | ||
|
|
4b1a1af6b3 | ||
|
|
5e84b90850 | ||
|
|
a6f5433efc | ||
|
|
cc1e393bfc |
1
.gitignore
vendored
Normal file → Executable file
1
.gitignore
vendored
Normal file → Executable file
@ -1 +0,0 @@
|
|||||||
.sync/
|
|
||||||
27
README.txt
27
README.txt
@ -1,6 +1,6 @@
|
|||||||
Turn In
|
Turn In
|
||||||
v2.1
|
v2.3
|
||||||
by Sabindeus of Smolderthorn/Andre of Argent Dawn (Alliance)
|
by Sabindeus of Terenas
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-------------
|
-------------
|
||||||
@ -30,25 +30,4 @@ COMMAND SUMMARY
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
CHANGE LOG
|
Please send bug reports, questions or comments to sabin@sabindeus.com
|
||||||
-------------
|
|
||||||
v2.1 - Quest selection logic rewrite thanks to Arcanemagus of Hyjal
|
|
||||||
v2.0 - Logic rewrite and added a real GUI for the new NPC DB. Updated for WoW 2.0.
|
|
||||||
v1.3 - Greedy mode now actually works properly... I think. More to come! :/
|
|
||||||
v1.2 - Added Saved Variables. Turn In status now persists. Turn In now selects active quests and gossip options as well as available quests. Greedy mode lets you select an option regardless of if the one you wanted is availble.
|
|
||||||
v1.1 - Fixed "bug" regarding Duke Nicholas Zverenhoff (and possibly other NPCs). Was more of a sloppy omission than a bug really.
|
|
||||||
v1.0a - Added toggle function
|
|
||||||
v1.0 - Initial Release
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Special Thanks to Florrail and Makhno for beta testing like a pro!
|
|
||||||
|
|
||||||
Extra Special Thanks to Arcanemagus for his code input!
|
|
||||||
|
|
||||||
Please send bug reports, questions or comments to Sabin1936@mac.com
|
|
||||||
|
|||||||
81
TurnIn.lua
81
TurnIn.lua
@ -1,22 +1,14 @@
|
|||||||
--[[
|
--[[
|
||||||
Turn-In Mod
|
Turn-In Mod
|
||||||
version 2.1
|
version 2.3
|
||||||
Authored by Ian Friedman
|
Authored by Ian Friedman
|
||||||
Sabindeus of Smolderthorn (Alliance)
|
Sabindeus of Terenas (Alliance)
|
||||||
The repeatable quest turn in automating machine.
|
The repeatable quest turn in automating machine.
|
||||||
|
|
||||||
Thanks to Arcanemagus of Hyjal for extra bug fixes and coding input
|
Thanks to Arcanemagus of Hyjal for extra bug fixes and coding input
|
||||||
]]
|
]]
|
||||||
|
|
||||||
-- WOW Version detection
|
|
||||||
|
|
||||||
local function TI_IsRetail()
|
|
||||||
if WOW_PROJECT_ID == WOW_PROJECT_MAINLINE then
|
|
||||||
return true;
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
TI_VersionString = "2.0";
|
TI_VersionString = "2.0";
|
||||||
local TI_slashtable;
|
local TI_slashtable;
|
||||||
@ -45,7 +37,6 @@ local TI_GossipDefaults = {
|
|||||||
banker = "Bank"
|
banker = "Bank"
|
||||||
};
|
};
|
||||||
|
|
||||||
TI_FunctionList = {};
|
|
||||||
|
|
||||||
local TI_DefaultStatus = {
|
local TI_DefaultStatus = {
|
||||||
state = false,
|
state = false,
|
||||||
@ -120,7 +111,7 @@ end
|
|||||||
|
|
||||||
function TI_debug(...)
|
function TI_debug(...)
|
||||||
if(TI_status.debugstate) then
|
if(TI_status.debugstate) then
|
||||||
LoadAddOn("Blizzard_DebugTools")
|
C_AddOns.LoadAddOn("Blizzard_DebugTools")
|
||||||
local x = {...};
|
local x = {...};
|
||||||
for k,v in pairs(x) do
|
for k,v in pairs(x) do
|
||||||
if type(v) == "table" and DevTools_Dump then
|
if type(v) == "table" and DevTools_Dump then
|
||||||
@ -504,6 +495,7 @@ function TI_HandleGossipWindow(gorq)
|
|||||||
|
|
||||||
|
|
||||||
local npcname = UnitName("npc");
|
local npcname = UnitName("npc");
|
||||||
|
if not issecretvalue(npcname) then
|
||||||
TI_AddNPCToTempList(npcname, ListEntry);
|
TI_AddNPCToTempList(npcname, ListEntry);
|
||||||
|
|
||||||
if(TI_status.autoadd and (not TI_NPCDB[npcname])) then
|
if(TI_status.autoadd and (not TI_NPCDB[npcname])) then
|
||||||
@ -563,7 +555,11 @@ function TI_HandleGossipWindow(gorq)
|
|||||||
for i2,v2 in ipairs(GossipOptions) do
|
for i2,v2 in ipairs(GossipOptions) do
|
||||||
if (v2.name == current.name) then
|
if (v2.name == current.name) then
|
||||||
TI_debug(i1.."-Gossip Match Found: "..current.name..", "..current.type);
|
TI_debug(i1.."-Gossip Match Found: "..current.name..", "..current.type);
|
||||||
|
if(v2.args) then
|
||||||
|
TI_FunctionList.g.gossip(v2.args);
|
||||||
|
else
|
||||||
TI_FunctionList.g.gossip(i2);
|
TI_FunctionList.g.gossip(i2);
|
||||||
|
end
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -578,6 +574,8 @@ function TI_HandleGossipWindow(gorq)
|
|||||||
else
|
else
|
||||||
TI_debug("npc not in list");
|
TI_debug("npc not in list");
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
if(TI_status.usedefault == false) then
|
if(TI_status.usedefault == false) then
|
||||||
TI_debug("npc not in list, default set to off, returning.");
|
TI_debug("npc not in list, default set to off, returning.");
|
||||||
return;
|
return;
|
||||||
@ -605,7 +603,8 @@ function TI_HandleGossipWindow(gorq)
|
|||||||
for j,val in ipairs(GossipOptions) do
|
for j,val in ipairs(GossipOptions) do
|
||||||
if(val.type == current.type) then
|
if(val.type == current.type) then
|
||||||
TI_ResetPointers();
|
TI_ResetPointers();
|
||||||
TI_FunctionList.g.gossip(j);
|
TI_debug("Selecting Gossip Option "..j)
|
||||||
|
TI_FunctionList.g.gossip(val.args);
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -678,19 +677,7 @@ function TI_StripDescriptors(...)
|
|||||||
return x;
|
return x;
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_TabulateGossipOptions_Classic(...)
|
function TI_TabulateGossipQuestUIInfo(gquis)
|
||||||
local x = {};
|
|
||||||
local arg = {...};
|
|
||||||
for i=1, #arg, 2 do
|
|
||||||
local temp = {};
|
|
||||||
temp.name = arg[i];
|
|
||||||
temp.type = arg[i+1];
|
|
||||||
table.insert(x, temp);
|
|
||||||
end
|
|
||||||
return x;
|
|
||||||
end
|
|
||||||
|
|
||||||
function TI_TabulateGossipQuestUIInfo_Retail(gquis)
|
|
||||||
local x = {};
|
local x = {};
|
||||||
|
|
||||||
for i,gqui in ipairs(gquis) do
|
for i,gqui in ipairs(gquis) do
|
||||||
@ -712,7 +699,7 @@ function TI_TabulateGossipQuestUIInfo_Retail(gquis)
|
|||||||
return x;
|
return x;
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_TabulateGossipUIInfo_Retail(guis)
|
function TI_TabulateGossipUIInfo(guis)
|
||||||
local x = {};
|
local x = {};
|
||||||
table.sort(guis, GossipOptionSort);
|
table.sort(guis, GossipOptionSort);
|
||||||
for i,gui in ipairs(guis) do
|
for i,gui in ipairs(guis) do
|
||||||
@ -726,11 +713,13 @@ function TI_TabulateGossipUIInfo_Retail(guis)
|
|||||||
temp.icon = gui.icon;
|
temp.icon = gui.icon;
|
||||||
temp.gossipOptionID = gui.gossipOptionID
|
temp.gossipOptionID = gui.gossipOptionID
|
||||||
temp.orderIndex = gui.orderIndex
|
temp.orderIndex = gui.orderIndex
|
||||||
|
temp.args = gui.orderIndex
|
||||||
table.insert(x, temp);
|
table.insert(x, temp);
|
||||||
end
|
end
|
||||||
return x;
|
return x;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function TI_TabulateGossipAvailableQuests_Classic(gquis)
|
function TI_TabulateGossipAvailableQuests_Classic(gquis)
|
||||||
local x = {};
|
local x = {};
|
||||||
|
|
||||||
@ -775,48 +764,34 @@ function TI_TabulateGossipActiveQuests_Classic(gquis)
|
|||||||
return x;
|
return x;
|
||||||
end
|
end
|
||||||
|
|
||||||
-- set up functions by release type
|
TI_FunctionList = {}
|
||||||
if (TI_IsRetail()) then
|
function TI_SetupFunctions()
|
||||||
TI_FunctionList = {
|
TI_FunctionList = {
|
||||||
g = {
|
g = {
|
||||||
availquest = C_GossipInfo.SelectAvailableQuest,
|
availquest = C_GossipInfo.SelectAvailableQuest,
|
||||||
activequest = C_GossipInfo.SelectActiveQuest,
|
activequest = C_GossipInfo.SelectActiveQuest,
|
||||||
gossip = SelectGossipOption,
|
gossip = C_GossipInfo.SelectOptionByIndex,
|
||||||
getavailquests = C_GossipInfo.GetAvailableQuests,
|
getavailquests = C_GossipInfo.GetAvailableQuests,
|
||||||
getactivequests = C_GossipInfo.GetActiveQuests,
|
getactivequests = C_GossipInfo.GetActiveQuests,
|
||||||
getoptions = C_GossipInfo.GetOptions,
|
getoptions = C_GossipInfo.GetOptions,
|
||||||
tabulateAvailable = TI_TabulateGossipQuestUIInfo_Retail,
|
tabulateOptions = TI_TabulateGossipUIInfo,
|
||||||
tabulateActive = TI_TabulateGossipQuestUIInfo_Retail,
|
|
||||||
tabulateOptions = TI_TabulateGossipUIInfo_Retail,
|
|
||||||
},
|
},
|
||||||
q = {
|
q = {
|
||||||
activequest = SelectActiveQuest,
|
activequest = SelectActiveQuest,
|
||||||
availquest = SelectAvailableQuest,
|
availquest = SelectAvailableQuest,
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
if QuestUtil.GetQuestIconOffer then
|
||||||
|
TI_FunctionList.g.tabulateAvailable = TI_TabulateGossipQuestUIInfo
|
||||||
|
TI_FunctionList.g.tabulateActive = TI_TabulateGossipQuestUIInfo
|
||||||
else
|
else
|
||||||
TI_FunctionList = {
|
TI_FunctionList.g.tabulateAvailable = TI_TabulateGossipAvailableQuests_Classic
|
||||||
g = {
|
TI_FunctionList.g.tabulateActive = TI_TabulateGossipActiveQuests_Classic
|
||||||
availquest = C_GossipInfo.SelectAvailableQuest,
|
|
||||||
activequest = C_GossipInfo.SelectActiveQuest,
|
|
||||||
gossip = SelectGossipOption,
|
|
||||||
getavailquests = C_GossipInfo.GetAvailableQuests,
|
|
||||||
getactivequests = C_GossipInfo.GetActiveQuests,
|
|
||||||
getoptions = C_GossipInfo.GetOptions,
|
|
||||||
tabulateAvailable = TI_TabulateGossipAvailableQuests_Classic,
|
|
||||||
tabulateActive = TI_TabulateGossipActiveQuests_Classic,
|
|
||||||
tabulateOptions = TI_TabulateGossipUIInfo_Retail,
|
|
||||||
},
|
|
||||||
q = {
|
|
||||||
activequest = SelectActiveQuest,
|
|
||||||
availquest = SelectAvailableQuest,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
TI_SetupFunctions()
|
||||||
|
|
||||||
|
|
||||||
--[[this function stolen from WhisperCast by Sarris, whom I love dearly for his contribution to Paladins everywhere.
|
|
||||||
]]
|
|
||||||
function TI_copyTable( src )
|
function TI_copyTable( src )
|
||||||
local copy = {}
|
local copy = {}
|
||||||
for k1,v1 in pairs(src) do
|
for k1,v1 in pairs(src) do
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
## Interface: 100005
|
## Interface: 120100, 120000, 120001, 50503, 40402, 30405, 20505, 11508
|
||||||
## X-Compatible-With: 100005
|
## X-Compatible-With: 120100, 120000, 120001, 50503, 40402, 30405, 20505, 11508
|
||||||
## Title: Turn In
|
## Title: Turn In
|
||||||
## Notes: Automates the selection of quest and gossip options.
|
## Notes: Automates the selection of quest and gossip options.
|
||||||
## SavedVariables: TI_status, TI_NPCDB, TI_NPCIndex
|
## SavedVariables: TI_status, TI_NPCDB, TI_NPCIndex
|
||||||
|
|||||||
@ -1,7 +0,0 @@
|
|||||||
## Interface: 30401
|
|
||||||
## X-Compatible-With: 30401
|
|
||||||
## Title: Turn In
|
|
||||||
## Notes: Automates the selection of quest and gossip options.
|
|
||||||
## SavedVariables: TI_status, TI_NPCDB, TI_NPCIndex
|
|
||||||
## Version: 2.2
|
|
||||||
TurnIn.xml
|
|
||||||
Loading…
Reference in New Issue
Block a user