Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4141e80c35 |
0
.gitignore
vendored
0
.gitignore
vendored
25
README.txt
25
README.txt
@ -1,6 +1,6 @@
|
|||||||
Turn In
|
Turn In
|
||||||
v2.3
|
v2.0
|
||||||
by Sabindeus of Terenas
|
by Sabindeus of Smolderthorn/Andre of Argent Dawn (Alliance)
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-------------
|
-------------
|
||||||
@ -30,4 +30,23 @@ COMMAND SUMMARY
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Please send bug reports, questions or comments to sabin@sabindeus.com
|
CHANGE LOG
|
||||||
|
-------------
|
||||||
|
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 for beta testing like a pro!
|
||||||
|
|
||||||
|
Please send bug reports, questions or comments to Sabin1936@mac.com
|
||||||
|
Thank you for downloading my add-on!
|
||||||
417
TurnIn.lua
Executable file → Normal file
417
TurnIn.lua
Executable file → Normal file
@ -1,15 +1,15 @@
|
|||||||
--[[
|
--[[
|
||||||
Turn-In Mod
|
Turn-In Mod
|
||||||
version 2.3
|
version 2.0
|
||||||
Authored by Ian Friedman
|
Authored by Ian Friedman
|
||||||
Sabindeus of Terenas (Alliance)
|
Sabindeus of Smolderthorn/Andre of Argent Dawn (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
|
todo:
|
||||||
|
make selection work for multiple active quests
|
||||||
|
|
||||||
]]
|
]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TI_VersionString = "2.0";
|
TI_VersionString = "2.0";
|
||||||
local TI_slashtable;
|
local TI_slashtable;
|
||||||
TI_gossipclosed = false;
|
TI_gossipclosed = false;
|
||||||
@ -37,6 +37,18 @@ local TI_GossipDefaults = {
|
|||||||
banker = "Bank"
|
banker = "Bank"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
local TI_FunctionList = {
|
||||||
|
g = {
|
||||||
|
availquest = SelectGossipAvailableQuest,
|
||||||
|
activequest = SelectGossipActiveQuest,
|
||||||
|
default = SelectGossipOption
|
||||||
|
},
|
||||||
|
q = {
|
||||||
|
availquest = SelectAvailableQuest,
|
||||||
|
activequest = SelectActiveQuest
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
local TI_DefaultStatus = {
|
local TI_DefaultStatus = {
|
||||||
state = false,
|
state = false,
|
||||||
@ -57,49 +69,6 @@ local TI_events = {
|
|||||||
"QUEST_FINISHED"
|
"QUEST_FINISHED"
|
||||||
};
|
};
|
||||||
|
|
||||||
local TI_GossipIconNameToId = {
|
|
||||||
["activequesticon"] = 132048,
|
|
||||||
["availablequesticon"] = 132049,
|
|
||||||
["banker"] = 132050,
|
|
||||||
["battlemaster"] = 132051,
|
|
||||||
["binder"] = 132052,
|
|
||||||
["gossip"] = 132053,
|
|
||||||
["healer"] = 132054,
|
|
||||||
["petition"] = 132055,
|
|
||||||
["tabard"] = 132056,
|
|
||||||
["taxi"] = 132057,
|
|
||||||
["trainer"] = 132058,
|
|
||||||
["unlearn"] = 132059,
|
|
||||||
["vendor"] = 132060,
|
|
||||||
["incompletequest"] = 365195,
|
|
||||||
["dailyquest"] = 368364,
|
|
||||||
["dailyactivequest"] = 368577,
|
|
||||||
["auctioneer"] = 528409,
|
|
||||||
["activelegendaryquest"] = 646979,
|
|
||||||
["availablelegendaryquest"] = 646980,
|
|
||||||
["chatbubble"] = 1019848,
|
|
||||||
["workorder"] = 1130518,
|
|
||||||
["transmogrify"] = 1673939,
|
|
||||||
["campaignactivequest"] = 3532316,
|
|
||||||
["campaignavailablequest"] = 3532317,
|
|
||||||
["campaignincompletequest"] = 3532318,
|
|
||||||
["campaigngossipicons"] = 3595324,
|
|
||||||
}
|
|
||||||
|
|
||||||
local function TI_InvertDictionary(input)
|
|
||||||
local s={}
|
|
||||||
for k,v in pairs(input) do
|
|
||||||
s[v]=k
|
|
||||||
end
|
|
||||||
return s
|
|
||||||
end
|
|
||||||
|
|
||||||
local TI_GossipIconIdToName = TI_InvertDictionary(TI_GossipIconNameToId)
|
|
||||||
|
|
||||||
local function TI_TranslateIconToType(iconId)
|
|
||||||
return TI_GossipIconIdToName[iconId]
|
|
||||||
end
|
|
||||||
|
|
||||||
TI_TempNPCList = {};
|
TI_TempNPCList = {};
|
||||||
|
|
||||||
function TI_message(...)
|
function TI_message(...)
|
||||||
@ -111,15 +80,7 @@ end
|
|||||||
|
|
||||||
function TI_debug(...)
|
function TI_debug(...)
|
||||||
if(TI_status.debugstate) then
|
if(TI_status.debugstate) then
|
||||||
C_AddOns.LoadAddOn("Blizzard_DebugTools")
|
TI_message(...)
|
||||||
local x = {...};
|
|
||||||
for k,v in pairs(x) do
|
|
||||||
if type(v) == "table" and DevTools_Dump then
|
|
||||||
DevTools_Dump(v)
|
|
||||||
else
|
|
||||||
DEFAULT_CHAT_FRAME:AddMessage(tostring(v));
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -193,7 +154,6 @@ function TI_LoadEvents()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function TI_ResetPointers()
|
function TI_ResetPointers()
|
||||||
TI_debug("resetting pointers")
|
|
||||||
TI_activenumber = 1;
|
TI_activenumber = 1;
|
||||||
TI_availnumber = 1;
|
TI_availnumber = 1;
|
||||||
TI_specnum = 0;
|
TI_specnum = 0;
|
||||||
@ -245,13 +205,11 @@ function TI_SlashCmdHandler(cmd)
|
|||||||
else
|
else
|
||||||
TI_message("Turn In Off");
|
TI_message("Turn In Off");
|
||||||
end
|
end
|
||||||
|
TI_message(string.format("Option Number set to %d", TI_status.qnum));
|
||||||
end,
|
end,
|
||||||
window = function ()
|
window = function ()
|
||||||
TI_OptionsFrame:Show();
|
TI_OptionsFrame:Show();
|
||||||
end,
|
end,
|
||||||
config = function ()
|
|
||||||
TI_OptionsFrame:Show();
|
|
||||||
end,
|
|
||||||
recent = function ()
|
recent = function ()
|
||||||
TI_TempNPCListWindow:Show();
|
TI_TempNPCListWindow:Show();
|
||||||
end,
|
end,
|
||||||
@ -269,7 +227,7 @@ function TI_SlashCmdHandler(cmd)
|
|||||||
if(commands[cmdlist[1]]) then
|
if(commands[cmdlist[1]]) then
|
||||||
commands[cmdlist[1]](cmdlist[2], cmdlist[3], cmdlist[4]);
|
commands[cmdlist[1]](cmdlist[2], cmdlist[3], cmdlist[4]);
|
||||||
else
|
else
|
||||||
TI_message("Turn In 2.1 Help", "--------------", "/ti on - turns Turn In on", "/ti off - turns Turn In off", "/ti toggle - toggles Turn In on or off", "/ti window - shows the options window", "/ti recent - shows the recently visited NPCs");
|
TI_message("Turn In 2.0 Help", "--------------", "/ti on - turns Turn In on", "/ti off - turns Turn In off", "/ti toggle - toggles Turn In on or off", "/ti window - shows the options window", "/ti recent - shows the recently visited NPCs");
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -303,7 +261,7 @@ function TI_IsNPCOn(npcname, type)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function TI_OnEvent(self, event, ...)
|
function TI_OnEvent(event)
|
||||||
if(event == "VARIABLES_LOADED") then
|
if(event == "VARIABLES_LOADED") then
|
||||||
TI_VarInit();
|
TI_VarInit();
|
||||||
if(TI_status.state) then
|
if(TI_status.state) then
|
||||||
@ -359,7 +317,7 @@ function TI_OnEvent(self, event, ...)
|
|||||||
TI_debug("Quest Detail");
|
TI_debug("Quest Detail");
|
||||||
TI_gossipclosed = false;
|
TI_gossipclosed = false;
|
||||||
if(TI_IsNPCOn(UnitName("npc"), "availquest")) then
|
if(TI_IsNPCOn(UnitName("npc"), "availquest")) then
|
||||||
TI_HandleAcceptQuest();
|
AcceptQuest();
|
||||||
end
|
end
|
||||||
TI_ResetPointers();
|
TI_ResetPointers();
|
||||||
end
|
end
|
||||||
@ -373,11 +331,6 @@ function TI_OnEvent(self, event, ...)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_HandleAcceptQuest()
|
|
||||||
--QuestInfoFadingFrame_OnUpdate(QuestInfoFadingFrame, 1); -- does not exist anymore in 6.0
|
|
||||||
QuestDetailAcceptButton_OnClick();
|
|
||||||
end
|
|
||||||
|
|
||||||
function TI_HandleQuestProgress()
|
function TI_HandleQuestProgress()
|
||||||
|
|
||||||
local questname = GetTitleText();
|
local questname = GetTitleText();
|
||||||
@ -407,13 +360,10 @@ end
|
|||||||
|
|
||||||
function TI_CompleteQuest()
|
function TI_CompleteQuest()
|
||||||
if(IsQuestCompletable()) then
|
if(IsQuestCompletable()) then
|
||||||
TI_debug("quest is completable, completeing");
|
|
||||||
CompleteQuest();
|
CompleteQuest();
|
||||||
TI_ResetPointers();
|
TI_ResetPointers();
|
||||||
else
|
else
|
||||||
TI_debug("quest is not completable, declining");
|
DeclineQuest();
|
||||||
TI_availnumber = TI_availnumber + 1;
|
|
||||||
QuestDetailDeclineButton_OnClick();
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -421,10 +371,11 @@ function TI_GetQuests(type)
|
|||||||
local numQuests = (getglobal("GetNum"..type.."Quests"))();
|
local numQuests = (getglobal("GetNum"..type.."Quests"))();
|
||||||
local qfn = getglobal("Get"..type.."Title");
|
local qfn = getglobal("Get"..type.."Title");
|
||||||
local ret = {};
|
local ret = {};
|
||||||
|
local qname;
|
||||||
local i=1;
|
local i=1;
|
||||||
for i=1,numQuests do
|
for i=1,numQuests do
|
||||||
local qname, isComplete = qfn(i);
|
qname = qfn(i);
|
||||||
ret[i] = {name=qname, questID=i, isComplete=isComplete};
|
ret[i] = {name=qname};
|
||||||
end
|
end
|
||||||
return ret;
|
return ret;
|
||||||
end
|
end
|
||||||
@ -435,21 +386,22 @@ function TI_HandleGossipWindow(gorq)
|
|||||||
local AvailableQuests;
|
local AvailableQuests;
|
||||||
local ActiveQuests;
|
local ActiveQuests;
|
||||||
local GossipOptions;
|
local GossipOptions;
|
||||||
TI_debug(gorq);
|
|
||||||
if(gorq == "g") then
|
if(gorq == "g") then
|
||||||
AvailableQuests = TI_FunctionList.g.tabulateAvailable(TI_FunctionList.g.getavailquests());
|
AvailableQuests = TI_Tabulate(GetGossipAvailableQuests());
|
||||||
ActiveQuests = TI_FunctionList.g.tabulateActive(TI_FunctionList.g.getactivequests());
|
ActiveQuests = TI_Tabulate(GetGossipActiveQuests());
|
||||||
GossipOptions = TI_FunctionList.g.tabulateOptions(TI_FunctionList.g.getoptions());
|
GossipOptions = TI_Tabulate(GetGossipOptions());
|
||||||
SAcQ = TI_FunctionList.g.activequest;
|
SAcQ = SelectGossipActiveQuest;
|
||||||
SAvQ = TI_FunctionList.g.availquest;
|
SAvQ = SelectGossipAvailableQuest;
|
||||||
elseif(gorq == "q") then
|
elseif(gorq == "q") then
|
||||||
AvailableQuests = TI_GetQuests("Available");
|
AvailableQuests = TI_GetQuests("Available");
|
||||||
ActiveQuests = TI_GetQuests("Active");
|
ActiveQuests = TI_GetQuests("Active");
|
||||||
GossipOptions = {};
|
GossipOptions = {};
|
||||||
SAcQ=TI_FunctionList.q.activequest;
|
SAcQ=SelectActiveQuest;
|
||||||
SAvQ=TI_FunctionList.q.availquest;
|
SAvQ=SelectAvailableQuest;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
local ListEntry = {};
|
local ListEntry = {};
|
||||||
for i,v in ipairs(AvailableQuests) do
|
for i,v in ipairs(AvailableQuests) do
|
||||||
local x={};
|
local x={};
|
||||||
@ -457,7 +409,6 @@ function TI_HandleGossipWindow(gorq)
|
|||||||
x.gorq = gorq;
|
x.gorq = gorq;
|
||||||
x.args = i;
|
x.args = i;
|
||||||
x.type = "availquest";
|
x.type = "availquest";
|
||||||
x.icon = v.icon;
|
|
||||||
x.state = false;
|
x.state = false;
|
||||||
table.insert(ListEntry, x);
|
table.insert(ListEntry, x);
|
||||||
end
|
end
|
||||||
@ -467,7 +418,6 @@ function TI_HandleGossipWindow(gorq)
|
|||||||
x.gorq = gorq;
|
x.gorq = gorq;
|
||||||
x.args = i;
|
x.args = i;
|
||||||
x.type = "activequest";
|
x.type = "activequest";
|
||||||
x.icon = v.icon;
|
|
||||||
x.state = false;
|
x.state = false;
|
||||||
table.insert(ListEntry, x);
|
table.insert(ListEntry, x);
|
||||||
end
|
end
|
||||||
@ -475,13 +425,8 @@ function TI_HandleGossipWindow(gorq)
|
|||||||
local x={};
|
local x={};
|
||||||
x.name = v.name;
|
x.name = v.name;
|
||||||
x.gorq = gorq;
|
x.gorq = gorq;
|
||||||
if x.orderIndex then
|
x.args = i;
|
||||||
x.args = v.orderIndex;
|
|
||||||
else
|
|
||||||
x.args = i;
|
|
||||||
end
|
|
||||||
x.type = v.type;
|
x.type = v.type;
|
||||||
x.icon = v.icon;
|
|
||||||
x.state = false;
|
x.state = false;
|
||||||
table.insert(ListEntry, x);
|
table.insert(ListEntry, x);
|
||||||
end
|
end
|
||||||
@ -489,93 +434,69 @@ function TI_HandleGossipWindow(gorq)
|
|||||||
|
|
||||||
|
|
||||||
local TotalOptions = #AvailableQuests+#ActiveQuests+#GossipOptions;
|
local TotalOptions = #AvailableQuests+#ActiveQuests+#GossipOptions;
|
||||||
|
--if(TI_activenumber > ActiveQuests.getn()) TI_activenumber = 1;
|
||||||
if(TotalOptions < 1) then
|
if(TotalOptions < 1) then
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local name = UnitName("npc");
|
||||||
|
TI_AddNPCToTempList(name, ListEntry);
|
||||||
|
|
||||||
local npcname = UnitName("npc");
|
if(TI_status.autoadd and (not TI_NPCDB[name])) then
|
||||||
if not issecretvalue(npcname) then
|
TI_debug("autoadd on, adding this NPC", TI_status.autoadd, TI_NPCDB[name]);
|
||||||
TI_AddNPCToTempList(npcname, ListEntry);
|
TI_AddNPCToList(ListEntry, name);
|
||||||
|
|
||||||
if(TI_status.autoadd and (not TI_NPCDB[npcname])) then
|
|
||||||
TI_debug("autoadd on, adding this NPC", TI_status.autoadd, TI_NPCDB[npcname]);
|
|
||||||
TI_AddNPCToList(ListEntry, npcname);
|
|
||||||
end
|
|
||||||
|
|
||||||
-- If a NPC is in the Database but a new dialog option has appeared (new daily/completed quest) then add it to the DB
|
|
||||||
if (TI_NPCDB[npcname]) then
|
|
||||||
for k1, v1 in ipairs(ListEntry) do
|
|
||||||
local found = false;
|
|
||||||
for k2, v2 in ipairs(TI_NPCDB[npcname]) do
|
|
||||||
if (v2.type == v1.type and v2.name == v1.name) then
|
|
||||||
found = true;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if (not found) then
|
|
||||||
table.insert(TI_NPCDB[npcname], v1)
|
|
||||||
TI_PopulateOptions("npclist updated");
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if(TI_availnumber > TotalOptions or TI_activenumber > TotalOptions) then
|
|
||||||
TI_debug("Out of available/active quests, giving up ");
|
|
||||||
TI_ResetPointers();
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
|
|
||||||
TI_debug(npcname);
|
|
||||||
if(TI_NPCDB[npcname]) then
|
|
||||||
local thisnpc = TI_NPCDB[npcname];
|
|
||||||
if(thisnpc.state) then
|
|
||||||
TI_debug("npc is active, using his options");
|
|
||||||
for i1,current in ipairs(thisnpc) do
|
|
||||||
if (current.state == true) then
|
|
||||||
TI_debug("Current Quest: "..current.name);
|
|
||||||
if (TI_specnum == 0 or i1 > TI_specnum) then
|
|
||||||
TI_specnum = i1;
|
|
||||||
if (current.type == "availquest") then
|
|
||||||
for i2,v2 in ipairs(AvailableQuests) do
|
|
||||||
if (v2.name == current.name) then
|
|
||||||
TI_debug(i1.."-Available Match Found: "..current.name);
|
|
||||||
SAvQ(v2.questID);
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
elseif (current.type == "activequest") then
|
|
||||||
for i2,v2 in ipairs(ActiveQuests) do
|
|
||||||
if (v2.name == current.name) then
|
|
||||||
TI_debug(i1.."-Active Match Found: "..current.name..", "..current.type);
|
|
||||||
SAcQ(v2.questID);
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
else
|
|
||||||
for i2,v2 in ipairs(GossipOptions) do
|
|
||||||
if (v2.name == current.name) then
|
|
||||||
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);
|
|
||||||
end
|
|
||||||
return;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return;
|
|
||||||
else
|
|
||||||
TI_debug("npc in list, but not active");
|
|
||||||
end
|
|
||||||
else
|
|
||||||
TI_debug("npc not in list");
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if(TI_availnumber > TotalOptions or TI_activenumber > TotalOptions) then
|
||||||
|
TI_ResetPointers();
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
--Legacy shit here
|
||||||
|
--[[
|
||||||
|
if(TI_status.qnum ~= 0 and TI_status.qnum<TotalOptions) then
|
||||||
|
if(TI_status.qnum <= #AvailableQuests) then
|
||||||
|
SAvQ(TI_status.qnum);
|
||||||
|
return;
|
||||||
|
elseif(TI_status.qnum <= #AvailableQuests+#ActiveQuests) then
|
||||||
|
SAcQ(TI_status.qnum-AvailableQuests.n);
|
||||||
|
return;
|
||||||
|
elseif(TI_status.qnum <= #AvailableQuests+#ActiveQuests+#GossipOptions) then
|
||||||
|
SelectGossipOption(TI_status.qnum-#AvailableQuests-#ActiveQuests);
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
]]--
|
||||||
|
|
||||||
|
local npcname = UnitName("npc");
|
||||||
|
TI_debug(npcname);
|
||||||
|
if(TI_NPCDB[npcname]) then
|
||||||
|
local thisnpc = TI_NPCDB[npcname];
|
||||||
|
if(thisnpc.state) then
|
||||||
|
TI_debug("npc is active, using his options");
|
||||||
|
for i,current in ipairs(thisnpc) do
|
||||||
|
TI_debug(i);
|
||||||
|
if(current.state) then
|
||||||
|
if (TI_specnum == 0 or i > TI_specnum) then
|
||||||
|
TI_specnum = i;
|
||||||
|
TI_debug("Setting specnum to "..TI_specnum.." nothing under that will be picked");
|
||||||
|
local flist = TI_FunctionList[current.gorq];
|
||||||
|
if(flist[current.type]) then
|
||||||
|
flist[current.type](current.args);
|
||||||
|
else
|
||||||
|
flist["default"](current.args);
|
||||||
|
end
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return;
|
||||||
|
else
|
||||||
|
TI_debug("npc in list, but not active");
|
||||||
|
end
|
||||||
|
else
|
||||||
|
TI_debug("npc not in list");
|
||||||
|
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;
|
||||||
@ -584,27 +505,20 @@ function TI_HandleGossipWindow(gorq)
|
|||||||
for i,current in ipairs(TI_status.options) do
|
for i,current in ipairs(TI_status.options) do
|
||||||
if(current.state) then
|
if(current.state) then
|
||||||
if(current.type == "availquest" and #AvailableQuests > 0 and TI_availnumber <= #AvailableQuests) then
|
if(current.type == "availquest" and #AvailableQuests > 0 and TI_availnumber <= #AvailableQuests) then
|
||||||
SAvQ(AvailableQuests[TI_availnumber].questID);
|
TI_availnumber = TI_availnumber + 1;
|
||||||
TI_debug("Selecting Available Quest ".. TI_availnumber);
|
SAvQ(TI_availnumber-1);
|
||||||
|
TI_debug("Selecting Available Quest ".. TI_availnumber-1);
|
||||||
return;
|
return;
|
||||||
elseif(current.type == "activequest" and #ActiveQuests > 0 and TI_activenumber <= #ActiveQuests) then
|
elseif(current.type == "activequest" and #ActiveQuests > 0 and TI_activenumber <= #ActiveQuests) then
|
||||||
while TI_activenumber <= #ActiveQuests do
|
TI_activenumber = TI_activenumber + 1;
|
||||||
if ActiveQuests[TI_activenumber].isComplete then
|
SAcQ(TI_activenumber-1);
|
||||||
TI_debug("Selecting Active Quest ".. TI_activenumber .. " " .. ActiveQuests[TI_activenumber].name );
|
TI_debug("Selecting Active Quest ".. TI_activenumber-1);
|
||||||
SAcQ(ActiveQuests[TI_activenumber].questID);
|
return;
|
||||||
TI_ResetPointers();
|
|
||||||
return;
|
|
||||||
else
|
|
||||||
TI_debug("Active Quest ".. TI_activenumber .. " " .. ActiveQuests[TI_activenumber].name .. " is not complete")
|
|
||||||
TI_activenumber = TI_activenumber + 1;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
elseif(#GossipOptions > 0) then
|
elseif(#GossipOptions > 0) then
|
||||||
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_debug("Selecting Gossip Option "..j)
|
SelectGossipOption(j);
|
||||||
TI_FunctionList.g.gossip(val.args);
|
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -615,6 +529,16 @@ function TI_HandleGossipWindow(gorq)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function TI_AddNPCToList(OptList, npcname, confirminquestion)
|
function TI_AddNPCToList(OptList, npcname, confirminquestion)
|
||||||
|
--~ NPClist = {
|
||||||
|
--~ "Joe" = {
|
||||||
|
--~ 0 = {
|
||||||
|
--~ name = "Option 1"
|
||||||
|
--~ accessor = SelectGossipOption
|
||||||
|
--~ args = 0
|
||||||
|
--~ }
|
||||||
|
--~ }
|
||||||
|
--~ }
|
||||||
|
|
||||||
if (npcname == nil) then
|
if (npcname == nil) then
|
||||||
npcname = UnitName("npc");
|
npcname = UnitName("npc");
|
||||||
end
|
end
|
||||||
@ -639,13 +563,7 @@ function TI_AddNPCToTempList(name, list)
|
|||||||
local temp = {};
|
local temp = {};
|
||||||
temp.name = name;
|
temp.name = name;
|
||||||
temp.list = list;
|
temp.list = list;
|
||||||
local subZone = GetSubZoneText();
|
temp.location = GetSubZoneText() .. ", " .. GetRealZoneText();
|
||||||
local realZone = GetRealZoneText();
|
|
||||||
if(subZone == "") then
|
|
||||||
temp.location = realZone;
|
|
||||||
else
|
|
||||||
temp.location = subZone .. ", " .. realZone;
|
|
||||||
end
|
|
||||||
table.insert(TI_TempNPCList, 1, temp);
|
table.insert(TI_TempNPCList, 1, temp);
|
||||||
if(#TI_TempNPCList > TI_TempNPCListMaxSize) then
|
if(#TI_TempNPCList > TI_TempNPCListMaxSize) then
|
||||||
table.remove(TI_TempNPCList, TI_TempNPCListMaxSize);
|
table.remove(TI_TempNPCList, TI_TempNPCListMaxSize);
|
||||||
@ -677,121 +595,22 @@ function TI_StripDescriptors(...)
|
|||||||
return x;
|
return x;
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_TabulateGossipQuestUIInfo(gquis)
|
function TI_Tabulate(...)
|
||||||
local x = {};
|
local x = {};
|
||||||
|
local arg = {...};
|
||||||
for i,gqui in ipairs(gquis) do
|
for i=1, #arg, 2 do
|
||||||
local temp = {};
|
local temp = {};
|
||||||
temp.name = gqui.title;
|
temp.name = arg[i];
|
||||||
|
temp.type = arg[i+1];
|
||||||
temp.icon = QuestUtil.GetQuestIconOffer(
|
|
||||||
gqui.isLegendary,
|
|
||||||
gqui.frequency,
|
|
||||||
gqui.isRepeatable,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
);
|
|
||||||
temp.questID = gqui.questID;
|
|
||||||
temp.isComplete = gqui.isComplete;
|
|
||||||
|
|
||||||
table.insert(x, temp);
|
|
||||||
end
|
|
||||||
return x;
|
|
||||||
end
|
|
||||||
|
|
||||||
function TI_TabulateGossipUIInfo(guis)
|
|
||||||
local x = {};
|
|
||||||
table.sort(guis, GossipOptionSort);
|
|
||||||
for i,gui in ipairs(guis) do
|
|
||||||
local temp = {};
|
|
||||||
temp.name = gui.name;
|
|
||||||
local gossipType = TI_TranslateIconToType(gui.icon)
|
|
||||||
if gossipType == "chatbubble" then
|
|
||||||
gossipType = "gossip"
|
|
||||||
end
|
|
||||||
temp.type = gossipType;
|
|
||||||
temp.icon = gui.icon;
|
|
||||||
temp.gossipOptionID = gui.gossipOptionID
|
|
||||||
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)
|
|
||||||
local x = {};
|
|
||||||
|
|
||||||
for i,gqui in ipairs(gquis) do
|
|
||||||
local temp = {};
|
|
||||||
temp.name = gqui.title;
|
|
||||||
|
|
||||||
if ( gqui.repeatable ) then
|
|
||||||
temp.icon = "Interface\\GossipFrame\\DailyQuestIcon";
|
|
||||||
elseif ( gqui.isLegendary ) then
|
|
||||||
temp.icon = "Interface\\GossipFrame\\AvailableLegendaryQuestIcon";
|
|
||||||
else
|
|
||||||
temp.icon = "Interface\\GossipFrame\\AvailableQuestIcon";
|
|
||||||
end
|
|
||||||
temp.questID = gqui.questID;
|
|
||||||
temp.isComplete = gqui.isComplete;
|
|
||||||
|
|
||||||
table.insert(x, temp);
|
|
||||||
end
|
|
||||||
return x;
|
|
||||||
end
|
|
||||||
|
|
||||||
function TI_TabulateGossipActiveQuests_Classic(gquis)
|
|
||||||
local x = {};
|
|
||||||
|
|
||||||
for i,gqui in ipairs(gquis) do
|
|
||||||
local temp = {};
|
|
||||||
temp.name = gqui.title;
|
|
||||||
|
|
||||||
if ( gqui.repeatable ) then
|
|
||||||
temp.icon = "Interface\\GossipFrame\\DailyQuestIcon";
|
|
||||||
elseif ( gqui.isLegendary ) then
|
|
||||||
temp.icon = "Interface\\GossipFrame\\AvailableLegendaryQuestIcon";
|
|
||||||
else
|
|
||||||
temp.icon = "Interface\\GossipFrame\\AvailableQuestIcon";
|
|
||||||
end
|
|
||||||
temp.questID = gqui.questID;
|
|
||||||
temp.isComplete = gqui.isComplete;
|
|
||||||
|
|
||||||
table.insert(x, temp);
|
|
||||||
end
|
|
||||||
return x;
|
|
||||||
end
|
|
||||||
|
|
||||||
TI_FunctionList = {}
|
|
||||||
function TI_SetupFunctions()
|
|
||||||
TI_FunctionList = {
|
|
||||||
g = {
|
|
||||||
availquest = C_GossipInfo.SelectAvailableQuest,
|
|
||||||
activequest = C_GossipInfo.SelectActiveQuest,
|
|
||||||
gossip = C_GossipInfo.SelectOptionByIndex,
|
|
||||||
getavailquests = C_GossipInfo.GetAvailableQuests,
|
|
||||||
getactivequests = C_GossipInfo.GetActiveQuests,
|
|
||||||
getoptions = C_GossipInfo.GetOptions,
|
|
||||||
tabulateOptions = TI_TabulateGossipUIInfo,
|
|
||||||
},
|
|
||||||
q = {
|
|
||||||
activequest = SelectActiveQuest,
|
|
||||||
availquest = SelectAvailableQuest,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if QuestUtil.GetQuestIconOffer then
|
|
||||||
TI_FunctionList.g.tabulateAvailable = TI_TabulateGossipQuestUIInfo
|
|
||||||
TI_FunctionList.g.tabulateActive = TI_TabulateGossipQuestUIInfo
|
|
||||||
else
|
|
||||||
TI_FunctionList.g.tabulateAvailable = TI_TabulateGossipAvailableQuests_Classic
|
|
||||||
TI_FunctionList.g.tabulateActive = TI_TabulateGossipActiveQuests_Classic
|
|
||||||
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
|
||||||
|
|||||||
7
TurnIn.toc
Executable file → Normal file
7
TurnIn.toc
Executable file → Normal file
@ -1,7 +1,6 @@
|
|||||||
## Interface: 120100, 120000, 120001, 50503, 40402, 30405, 20505, 11508
|
## Interface: 20400
|
||||||
## 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.
|
## Description: Automates the selection of quest and gossip options.
|
||||||
## SavedVariables: TI_status, TI_NPCDB, TI_NPCIndex
|
## SavedVariables: TI_status, TI_NPCDB, TI_NPCIndex
|
||||||
## Version: 2.2
|
## Version: 2.0.8
|
||||||
TurnIn.xml
|
TurnIn.xml
|
||||||
381
TurnIn.xml
Executable file → Normal file
381
TurnIn.xml
Executable file → Normal file
@ -1,51 +1,22 @@
|
|||||||
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/..\FrameXML\UI.xsd">
|
||||||
xsi:schemaLocation="http://www.blizzard.com/wow/ui/..\FrameXML\UI.xsd">
|
|
||||||
<Script file="TurnIn.lua" />
|
<Script file="TurnIn.lua" />
|
||||||
<Script file="TurnInUI.lua" />
|
<Script file="TurnInUI.lua" />
|
||||||
|
|
||||||
<Frame name="TI_OptionFrameBoxTemplate" virtual="true" inherits="BackdropTemplate">
|
|
||||||
<!-- shamelessly stolen from blizzard -->
|
|
||||||
<Layers>
|
|
||||||
<Layer level="BACKGROUND">
|
|
||||||
<FontString name="$parentTitle" inherits="GameFontHighlight">
|
|
||||||
<Anchors>
|
|
||||||
<Anchor point="BOTTOMLEFT" relativePoint="TOPLEFT">
|
|
||||||
<Offset>
|
|
||||||
<AbsDimension x="9" y="0"/>
|
|
||||||
</Offset>
|
|
||||||
</Anchor>
|
|
||||||
</Anchors>
|
|
||||||
</FontString>
|
|
||||||
</Layer>
|
|
||||||
</Layers>
|
|
||||||
<KeyValues>
|
|
||||||
<KeyValue key="backdropInfo" value="BACKDROP_TUTORIAL_16_16" type="global"/>
|
|
||||||
</KeyValues>
|
|
||||||
<Scripts>
|
|
||||||
<OnLoad>
|
|
||||||
self:ApplyBackdrop();
|
|
||||||
self:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
|
||||||
self:SetBackdropColor(0.5, 0.5, 0.5);
|
|
||||||
</OnLoad>
|
|
||||||
</Scripts>
|
|
||||||
</Frame>
|
|
||||||
|
|
||||||
|
|
||||||
<Button name="TI_PriorityList" virtual="true" hidden="false">
|
<Button name="TI_PriorityList" virtual="true" hidden="false">
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension x="235" y="20" />
|
<AbsDimension x="235" y="20" />
|
||||||
</Size>
|
</Size>
|
||||||
<Scripts><!--
|
<Scripts><!--
|
||||||
<OnEnter>
|
<OnEnter>
|
||||||
getglobal(self:GetName() .. "_Background"):SetVertexColor(1,1,1,0.4);
|
getglobal(this:GetName() .. "_Background"):SetVertexColor(1,1,1,0.4);
|
||||||
</OnEnter>
|
</OnEnter>
|
||||||
<OnLeave>
|
<OnLeave>
|
||||||
getglobal(self:GetName() .. "_Background"):SetVertexColor(0,0,0,0.4);
|
getglobal(this:GetName() .. "_Background"):SetVertexColor(0,0,0,0.4);
|
||||||
</OnLeave>
|
</OnLeave>
|
||||||
-->
|
-->
|
||||||
</Scripts>
|
</Scripts>
|
||||||
<Frames>
|
<Frames>
|
||||||
<CheckButton name="$parent_Check" hidden="false" inherits="UICheckButtonTemplate">
|
<CheckButton name="$parent_Check" hidden="false" inherits="OptionsCheckButtonTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT"/>
|
<Anchor point="TOPLEFT"/>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@ -57,13 +28,13 @@
|
|||||||
</Size>
|
</Size>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnEnter>
|
<OnEnter>
|
||||||
TI_OptionListCheckboxTooltip(self);
|
TI_OptionListCheckboxTooltip();
|
||||||
</OnEnter>
|
</OnEnter>
|
||||||
<OnLeave>
|
<OnLeave>
|
||||||
TI_TooltipHide();
|
TI_TooltipHide();
|
||||||
</OnLeave>
|
</OnLeave>
|
||||||
<OnClick>
|
<OnClick>
|
||||||
TI_OptionToggle(self);
|
TI_OptionToggle();
|
||||||
</OnClick>
|
</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
@ -80,13 +51,13 @@
|
|||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnEnter>
|
<OnEnter>
|
||||||
TI_TooltipMessage(self, "Decrease this option's priority.");
|
TI_TooltipMessage("Decrease this option's priority.");
|
||||||
</OnEnter>
|
</OnEnter>
|
||||||
<OnLeave>
|
<OnLeave>
|
||||||
TI_TooltipHide();
|
TI_TooltipHide();
|
||||||
</OnLeave>
|
</OnLeave>
|
||||||
<OnClick>
|
<OnClick>
|
||||||
TI_OptionMove(self, 1);
|
TI_OptionMove(1);
|
||||||
</OnClick>
|
</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
<NormalTexture file="Interface\ChatFrame\UI-ChatIcon-ScrollDown-Up"/>
|
<NormalTexture file="Interface\ChatFrame\UI-ChatIcon-ScrollDown-Up"/>
|
||||||
@ -107,10 +78,10 @@
|
|||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnClick>
|
<OnClick>
|
||||||
TI_OptionMove(self, -1);
|
TI_OptionMove(-1);
|
||||||
</OnClick>
|
</OnClick>
|
||||||
<OnEnter>
|
<OnEnter>
|
||||||
TI_TooltipMessage(self, "Increase this option's priority.");
|
TI_TooltipMessage("Increase this option's priority.");
|
||||||
</OnEnter>
|
</OnEnter>
|
||||||
<OnLeave>
|
<OnLeave>
|
||||||
TI_TooltipHide();
|
TI_TooltipHide();
|
||||||
@ -136,7 +107,7 @@
|
|||||||
</Anchor>
|
</Anchor>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
</Texture>
|
</Texture>
|
||||||
<FontString name="$parent_Text" inherits="GameFontNormal" justifyV="TOP" justifyH="LEFT">
|
<FontString name="$parent_Text" inherits="GameFontNormal" justifyV="top" justifyH="left">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="$parent_Icon" relativePoint="TOPRIGHT">
|
<Anchor point="TOPLEFT" relativeTo="$parent_Icon" relativePoint="TOPRIGHT">
|
||||||
<Offset>
|
<Offset>
|
||||||
@ -181,7 +152,7 @@
|
|||||||
<AbsDimension x="232" y="20" />
|
<AbsDimension x="232" y="20" />
|
||||||
</Size>
|
</Size>
|
||||||
<Frames>
|
<Frames>
|
||||||
<CheckButton name="$parent_Check" hidden="false" inherits="UICheckButtonTemplate">
|
<CheckButton name="$parent_Check" hidden="false" inherits="OptionsCheckButtonTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT"/>
|
<Anchor point="TOPLEFT"/>
|
||||||
</Anchors>
|
</Anchors>
|
||||||
@ -193,18 +164,18 @@
|
|||||||
</Size>
|
</Size>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnClick>
|
<OnClick>
|
||||||
TI_NPCToggle(self);
|
TI_NPCToggle();
|
||||||
TI_NPCListCheckboxTooltip(self);
|
TI_NPCListCheckboxTooltip();
|
||||||
</OnClick>
|
</OnClick>
|
||||||
<OnEnter>
|
<OnEnter>
|
||||||
TI_NPCListCheckboxTooltip(self);
|
TI_NPCListCheckboxTooltip();
|
||||||
</OnEnter>
|
</OnEnter>
|
||||||
<OnLeave>
|
<OnLeave>
|
||||||
TI_TooltipHide();
|
TI_TooltipHide();
|
||||||
</OnLeave>
|
</OnLeave>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
<Button name="$parent_Delete" hidden="false" inherits="UIPanelButtonTemplate" text="X">
|
<Button name="$parent_Delete" hidden="false" inherits="OptionsButtonTemplate" text="X">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="RIGHT">
|
<Anchor point="RIGHT">
|
||||||
<Offset>
|
<Offset>
|
||||||
@ -217,20 +188,20 @@
|
|||||||
</Size>
|
</Size>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnEnter>
|
<OnEnter>
|
||||||
TI_TooltipMessage(self, "Delete this NPC.");
|
TI_TooltipMessage("Delete this NPC.");
|
||||||
</OnEnter>
|
</OnEnter>
|
||||||
<OnLeave>
|
<OnLeave>
|
||||||
TI_TooltipHide();
|
TI_TooltipHide();
|
||||||
</OnLeave>
|
</OnLeave>
|
||||||
<OnClick>
|
<OnClick>
|
||||||
TI_DeleteNPCIndex(self);
|
TI_DeleteNPCIndex();
|
||||||
</OnClick>
|
</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Button>
|
</Button>
|
||||||
</Frames>
|
</Frames>
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="ARTWORK">
|
<Layer level="ARTWORK">
|
||||||
<FontString name="$parent_Text" justifyV="TOP" justifyH="LEFT" inherits="GameFontNormal" text="">
|
<FontString name="$parent_Text" justifyV="top" justifyH="left" inherits="GameFontNormal" text="">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="LEFT">
|
<Anchor point="LEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
@ -243,7 +214,7 @@
|
|||||||
</Layers>
|
</Layers>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnClick>
|
<OnClick>
|
||||||
TI_SelectNPCIndex(self);
|
TI_SelectNPCIndex();
|
||||||
</OnClick>
|
</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
<HighlightTexture file="Interface\QuestFrame\UI-QuestTitleHighlight" alphaMode="ADD"/>
|
<HighlightTexture file="Interface\QuestFrame\UI-QuestTitleHighlight" alphaMode="ADD"/>
|
||||||
@ -251,10 +222,10 @@
|
|||||||
|
|
||||||
<GameTooltip name="TI_Tooltip" hidden="true" inherits="GameTooltipTemplate" />
|
<GameTooltip name="TI_Tooltip" hidden="true" inherits="GameTooltipTemplate" />
|
||||||
|
|
||||||
<Frame name="TI_TempNPCListEntry" virtual="true" hidden="true">
|
<Frame Name="TI_TempNPCListEntry" virtual="true" hidden="true">
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnEnter>
|
<OnEnter>
|
||||||
TI_TempNPCListTooltipShow(self);
|
TI_TempNPCListTooltipShow();
|
||||||
</OnEnter>
|
</OnEnter>
|
||||||
<OnLeave>
|
<OnLeave>
|
||||||
TI_TooltipHide();
|
TI_TooltipHide();
|
||||||
@ -266,7 +237,7 @@
|
|||||||
|
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="ARTWORK">
|
<Layer level="ARTWORK">
|
||||||
<FontString name="$parent_Text" justifyV="TOP" justifyH="LEFT" inherits="GameFontNormal" text="">
|
<FontString name="$parent_Text" justifyV="top" justifyH="left" inherits="GameFontNormal" text="">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="LEFT">
|
<Anchor point="LEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
@ -278,7 +249,7 @@
|
|||||||
</Layer>
|
</Layer>
|
||||||
</Layers>
|
</Layers>
|
||||||
<Frames>
|
<Frames>
|
||||||
<Button name="$parent_Delete" hidden="false" inherits="UIPanelButtonTemplate" text="X">
|
<Button name="$parent_Delete" hidden="false" inherits="OptionsButtonTemplate" text="X">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPRIGHT">
|
<Anchor point="TOPRIGHT">
|
||||||
<Offset>
|
<Offset>
|
||||||
@ -291,17 +262,17 @@
|
|||||||
</Size>
|
</Size>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnClick>
|
<OnClick>
|
||||||
TI_DeleteTempNPCIndex(self:GetParent():GetID());
|
TI_DeleteTempNPCIndex(this:GetParent():GetID());
|
||||||
</OnClick>
|
</OnClick>
|
||||||
<OnEnter>
|
<OnEnter>
|
||||||
TI_TooltipMessage(self, "Delete");
|
TI_TooltipMessage("Delete");
|
||||||
</OnEnter>
|
</OnEnter>
|
||||||
<OnLeave>
|
<OnLeave>
|
||||||
TI_TooltipHide();
|
TI_TooltipHide();
|
||||||
</OnLeave>
|
</OnLeave>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Button>
|
</Button>
|
||||||
<Button name="$parent_Add" hidden="false" inherits="UIPanelButtonTemplate" text="+">
|
<Button name="$parent_Add" hidden="false" inherits="OptionsButtonTemplate" text="+">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="RIGHT" relativeTo="$parent_Delete" relativePoint="LEFT">
|
<Anchor point="RIGHT" relativeTo="$parent_Delete" relativePoint="LEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
@ -314,10 +285,10 @@
|
|||||||
</Size>
|
</Size>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnClick>
|
<OnClick>
|
||||||
TI_AddTempNPCIndex(self:GetParent():GetID());
|
TI_AddTempNPCIndex(this:GetParent():GetID());
|
||||||
</OnClick>
|
</OnClick>
|
||||||
<OnEnter>
|
<OnEnter>
|
||||||
TI_TooltipMessage(self, "Add this NPC to the database");
|
TI_TooltipMessage("Add this NPC to the database");
|
||||||
</OnEnter>
|
</OnEnter>
|
||||||
<OnLeave>
|
<OnLeave>
|
||||||
TI_TooltipHide();
|
TI_TooltipHide();
|
||||||
@ -327,7 +298,7 @@
|
|||||||
</Frames>
|
</Frames>
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
<Frame name="TI_TempNPCListWindow" parent="UIParent" frameStrata="DIALOG" toplevel="true" enableMouse="true" movable="true" hidden="true" inherits="BackdropTemplate">
|
<Frame Name="TI_TempNPCListWindow" parent="UIParent" frameStrata="DIALOG" toplevel="true" enableMouse="true" movable="true" hidden="true">
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension x="200" y="130" />
|
<AbsDimension x="200" y="130" />
|
||||||
</Size>
|
</Size>
|
||||||
@ -397,63 +368,69 @@
|
|||||||
</Anchors>
|
</Anchors>
|
||||||
</Frame>
|
</Frame>
|
||||||
</Frames>
|
</Frames>
|
||||||
<KeyValues>
|
<Backdrop bgFile="Interface\DialogFrame\UI-DialogBox-Background" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true">
|
||||||
<KeyValue key="backdropInfo" value="BACKDROP_TUTORIAL_16_16" type="global"/>
|
<EdgeSize>
|
||||||
</KeyValues>
|
<AbsValue val="16"/>
|
||||||
|
</EdgeSize>
|
||||||
|
<TileSize>
|
||||||
|
<AbsValue val="16"/>
|
||||||
|
</TileSize>
|
||||||
|
<BackgroundInsets>
|
||||||
|
<AbsInset left="5" right="5" top="5" bottom="5"/>
|
||||||
|
</BackgroundInsets>
|
||||||
|
</Backdrop>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad>
|
|
||||||
self.backdropInfo = {
|
|
||||||
bgFile = "Interface\\Tooltips\\UI-Tooltip-Background",
|
|
||||||
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
|
|
||||||
tile = true,
|
|
||||||
tileEdge = true,
|
|
||||||
tileSize = 16,
|
|
||||||
edgeSize = 16,
|
|
||||||
insets = { left = 5, right = 5, top = 5, bottom = 5 },
|
|
||||||
};
|
|
||||||
self:ApplyBackdrop();
|
|
||||||
self:SetBackdropBorderColor(0.6, 0.6, 0.6);
|
|
||||||
self:SetBackdropColor(0.2, 0.2, 0.2);
|
|
||||||
</OnLoad>
|
|
||||||
<OnMouseUp>
|
<OnMouseUp>
|
||||||
if ( self.isMoving ) then
|
if ( this.isMoving ) then
|
||||||
self:StopMovingOrSizing();
|
this:StopMovingOrSizing();
|
||||||
self.isMoving = false;
|
this.isMoving = false;
|
||||||
end
|
end
|
||||||
</OnMouseUp>
|
</OnMouseUp>
|
||||||
<OnMouseDown>
|
<OnMouseDown>
|
||||||
if ( button == "LeftButton" ) then
|
if ( arg1 == "LeftButton" ) then
|
||||||
self:StartMoving();
|
this:StartMoving();
|
||||||
self.isMoving = true;
|
this.isMoving = true;
|
||||||
end
|
end
|
||||||
</OnMouseDown>
|
</OnMouseDown>
|
||||||
<OnHide>
|
<OnHide>
|
||||||
if ( self.isMoving ) then
|
if ( this.isMoving ) then
|
||||||
self:StopMovingOrSizing();
|
this:StopMovingOrSizing();
|
||||||
self.isMoving = false;
|
this.isMoving = false;
|
||||||
end
|
end
|
||||||
</OnHide>
|
</OnHide>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
<Frame name="TI_OptionsFrame" inherits="BackdropTemplate" frameStrata="DIALOG" toplevel="true" enableMouse="true" movable="true" parent="UIParent">
|
<Frame Name="TI_OptionsFrame" frameStrata="DIALOG" toplevel="true" enableMouse="true" enableMouseWheel="true" movable="true" parent="UIParent">
|
||||||
|
<TitleRegion>
|
||||||
|
<Size>
|
||||||
|
<AbsDimension x="128" y="64"/>
|
||||||
|
</Size>
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOP">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="12"/>
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</TitleRegion>
|
||||||
|
|
||||||
<KeyValues>
|
<Backdrop bgFile="Interface\DialogFrame\UI-DialogBox-Background" edgeFile="Interface\DialogFrame\UI-DialogBox-Border" tile="true">
|
||||||
<KeyValue key="backdropInfo" value="BACKDROP_DIALOG_32_32" type="global"/>
|
<BackgroundInsets>
|
||||||
</KeyValues>
|
<AbsInset left="11" right="12" top="12" bottom="11"/>
|
||||||
|
</BackgroundInsets>
|
||||||
|
<TileSize>
|
||||||
|
<AbsValue val="32"/>
|
||||||
|
</TileSize>
|
||||||
|
<EdgeSize>
|
||||||
|
<AbsValue val="32"/>
|
||||||
|
</EdgeSize>
|
||||||
|
</Backdrop>
|
||||||
|
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad>
|
<OnShow>
|
||||||
self:ApplyBackdrop()
|
|
||||||
self:EnableMouse(true)
|
</OnShow>
|
||||||
self:RegisterForDrag("LeftButton")
|
|
||||||
</OnLoad>
|
|
||||||
<OnDragStart>
|
|
||||||
self:StartMoving()
|
|
||||||
</OnDragStart>
|
|
||||||
<OnDragStop>
|
|
||||||
self:StopMovingOrSizing()
|
|
||||||
</OnDragStop>
|
|
||||||
</Scripts>
|
</Scripts>
|
||||||
<Size>
|
<Size>
|
||||||
<AbsDimension x="300" y="500"/>
|
<AbsDimension x="300" y="500"/>
|
||||||
@ -511,7 +488,7 @@
|
|||||||
<AbsDimension x="200" y="20" />
|
<AbsDimension x="200" y="20" />
|
||||||
</Size>
|
</Size>
|
||||||
<Frames>
|
<Frames>
|
||||||
<CheckButton name="$parent_Checkbox" hidden="false" inherits="UICheckButtonTemplate">
|
<CheckButton name="$parent_Checkbox" hidden="false" inherits="OptionsCheckButtonTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
@ -527,7 +504,7 @@
|
|||||||
</Size>
|
</Size>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnClick>
|
<OnClick>
|
||||||
TI_StatusIndicator_CheckFn(self);
|
TI_StatusIndicator_CheckFn();
|
||||||
</OnClick>
|
</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
@ -573,7 +550,7 @@
|
|||||||
<AbsDimension x="200" y="40" />
|
<AbsDimension x="200" y="40" />
|
||||||
</Size>
|
</Size>
|
||||||
<Frames>
|
<Frames>
|
||||||
<CheckButton name="$parent_UseDefault" hidden="false" inherits="UICheckButtonTemplate">
|
<CheckButton name="$parent_UseDefault" hidden="false" inherits="OptionsCheckButtonTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
@ -589,11 +566,11 @@
|
|||||||
</Size>
|
</Size>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnClick>
|
<OnClick>
|
||||||
TI_SettingCheckboxFn(self, "usedefault");
|
TI_SettingCheckboxFn("usedefault");
|
||||||
</OnClick>
|
</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
<CheckButton name="$parent_AddAutomatically" hidden="false" inherits="UICheckButtonTemplate">
|
<CheckButton name="$parent_AddAutomatically" hidden="false" inherits="OptionsCheckButtonTemplate">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT" relativeTo="$parent_UseDefault" relativePoint="BOTTOMLEFT">
|
<Anchor point="TOPLEFT" relativeTo="$parent_UseDefault" relativePoint="BOTTOMLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
@ -609,7 +586,7 @@
|
|||||||
</Size>
|
</Size>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnClick>
|
<OnClick>
|
||||||
TI_SettingCheckboxFn(self, "autoadd");
|
TI_SettingCheckboxFn("autoadd");
|
||||||
</OnClick>
|
</OnClick>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</CheckButton>
|
</CheckButton>
|
||||||
@ -643,13 +620,12 @@
|
|||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
<Frame name="TI_OptionsPriorityContainer" inherits="TI_OptionFrameBoxTemplate">
|
<Frame name="TI_OptionsPriorityContainer" inherits="OptionFrameBoxTemplate">
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad>
|
<OnLoad>
|
||||||
self:ApplyBackdrop();
|
this:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
||||||
self:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
this:SetBackdropColor(0.15, 0.15, 0.15);
|
||||||
self:SetBackdropColor(0.15, 0.15, 0.15);
|
getglobal(this:GetName().."Title"):SetText("Gossip Options Priority List");
|
||||||
getglobal(self:GetName().."Title"):SetText("Gossip Options Priority List");
|
|
||||||
</OnLoad>
|
</OnLoad>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
@ -684,19 +660,179 @@
|
|||||||
<Size>
|
<Size>
|
||||||
<AbsDimension x="200" y="30"/>
|
<AbsDimension x="200" y="30"/>
|
||||||
</Size>
|
</Size>
|
||||||
|
|
||||||
|
<!--<Layers>
|
||||||
|
<Layer level="OVERLAY">
|
||||||
|
<FontString name="$parentText" justifyV="top" justifyH="left" inherits="GameFontNormal" text="Gossip Options">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" />
|
||||||
|
</Anchors>
|
||||||
|
</FontString>
|
||||||
|
</Layer>
|
||||||
|
<Layer level="BACKGROUND">
|
||||||
|
<Texture name="$parent_Background" setAllPoints="true">
|
||||||
|
<Color r="0" g="1" b="0" a="0.0"/>
|
||||||
|
</Texture>
|
||||||
|
</Layer>
|
||||||
|
</Layers>-->
|
||||||
|
<Frames>
|
||||||
|
<Button name="$parent1" id="1" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent2" id="2" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent1">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent3" id="3" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent2">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent4" id="4" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent3">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent5" id="5" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent4">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent6" id="6" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent5">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent7" id="7" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent6">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent8" id="8" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent7">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent9" id="9" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent8">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent10" id="10" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent9">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent11" id="11" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent10">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent12" id="12" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent11">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent13" id="13" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent12">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent14" id="14" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent13">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent15" id="15" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent14">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
<Button name="$parent16" id="16" hidden="true" inherits="TI_PriorityList">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="$parent15">
|
||||||
|
<Offset>
|
||||||
|
<AbsDimension x="0" y="0" />
|
||||||
|
</Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Button>
|
||||||
|
</Frames>
|
||||||
</Frame>
|
</Frame>
|
||||||
</ScrollChild>
|
</ScrollChild>
|
||||||
</ScrollFrame>
|
</ScrollFrame>
|
||||||
</Frames>
|
</Frames>
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
<Frame name="TI_OptionsNPCContainer" inherits="TI_OptionFrameBoxTemplate">
|
<Frame name="TI_OptionsNPCContainer" inherits="OptionFrameBoxTemplate">
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad>
|
<OnLoad>
|
||||||
self:ApplyBackdrop();
|
this:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
||||||
self:SetBackdropBorderColor(0.4, 0.4, 0.4);
|
this:SetBackdropColor(0.15, 0.15, 0.15);
|
||||||
self:SetBackdropColor(0.15, 0.15, 0.15);
|
getglobal(this:GetName().."Title"):SetText("NPC Database");
|
||||||
getglobal(self:GetName().."Title"):SetText("NPC Database");
|
|
||||||
</OnLoad>
|
</OnLoad>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
@ -711,7 +847,7 @@
|
|||||||
</Size>
|
</Size>
|
||||||
<Frames>
|
<Frames>
|
||||||
|
|
||||||
<ScrollFrame name="TI_NPCListScrollFrame" inherits="FauxScrollFrameTemplate" hidden="false" >
|
<ScrollFrame name="TI_NPCListScrollFrame" inherits="FauxScrollFrameTemplate" hidden="false" enableMouseWheel="true">
|
||||||
<Anchors>
|
<Anchors>
|
||||||
<Anchor point="TOPLEFT">
|
<Anchor point="TOPLEFT">
|
||||||
<Offset>
|
<Offset>
|
||||||
@ -726,8 +862,7 @@
|
|||||||
</Anchors>
|
</Anchors>
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnVerticalScroll>
|
<OnVerticalScroll>
|
||||||
--FauxScrollFrame_OnVerticalScroll(20, TI_NPCListScrollBarUpdate);
|
FauxScrollFrame_OnVerticalScroll(20, TI_NPCListScrollBarUpdate);
|
||||||
FauxScrollFrame_OnVerticalScroll(self, offset, 20, TI_NPCListScrollBarUpdate);
|
|
||||||
</OnVerticalScroll>
|
</OnVerticalScroll>
|
||||||
<OnShow>
|
<OnShow>
|
||||||
TI_NPCListScrollBarUpdate();
|
TI_NPCListScrollBarUpdate();
|
||||||
@ -816,8 +951,12 @@
|
|||||||
|
|
||||||
<Frame name="TurnIn" hidden="true" frameStrata="LOW" enableMouse="false">
|
<Frame name="TurnIn" hidden="true" frameStrata="LOW" enableMouse="false">
|
||||||
<Scripts>
|
<Scripts>
|
||||||
<OnLoad function="TI_OnLoad"/>
|
<OnLoad>
|
||||||
<OnEvent function="TI_OnEvent"/>
|
TI_OnLoad();
|
||||||
|
</OnLoad>
|
||||||
|
<OnEvent>
|
||||||
|
TI_OnEvent(event);
|
||||||
|
</OnEvent>
|
||||||
</Scripts>
|
</Scripts>
|
||||||
</Frame>
|
</Frame>
|
||||||
</Ui>
|
</Ui>
|
||||||
|
|||||||
160
TurnInUI.lua
Executable file → Normal file
160
TurnInUI.lua
Executable file → Normal file
@ -1,30 +1,3 @@
|
|||||||
local TI_OptionsPriorityFramePool = {};
|
|
||||||
local TI_OptionsPriorityFramePoolMax = 0;
|
|
||||||
|
|
||||||
local function TI_GetOptionsPriorityFrame(idx)
|
|
||||||
if idx > TI_OptionsPriorityFramePoolMax then
|
|
||||||
for i=TI_OptionsPriorityFramePoolMax+1, idx, 1 do
|
|
||||||
local frame = CreateFrame("Button", "TI_OptionsPriority"..i,
|
|
||||||
getglobal("TI_OptionsPriority"), "TI_PriorityList", i);
|
|
||||||
if i == 1 then
|
|
||||||
frame:SetPoint("TOPLEFT", 0, 0);
|
|
||||||
else
|
|
||||||
frame:SetPoint("TOPLEFT", "TI_OptionsPriority"..i-1, "BOTTOMLEFT", 0, 0);
|
|
||||||
end
|
|
||||||
frame:Hide();
|
|
||||||
table.insert(TI_OptionsPriorityFramePool, i, frame);
|
|
||||||
TI_OptionsPriorityFramePoolMax = TI_OptionsPriorityFramePoolMax + 1;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return TI_OptionsPriorityFramePool[idx];
|
|
||||||
end
|
|
||||||
|
|
||||||
local function TI_HideUnusedOptionFrames(last)
|
|
||||||
for i=last, TI_OptionsPriorityFramePoolMax, 1 do
|
|
||||||
TI_OptionsPriorityFramePool[i]:Hide();
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function TI_PopulateOptions(arg)
|
function TI_PopulateOptions(arg)
|
||||||
TI_debug(arg);
|
TI_debug(arg);
|
||||||
local CurrOpts;
|
local CurrOpts;
|
||||||
@ -37,40 +10,29 @@ function TI_PopulateOptions(arg)
|
|||||||
end
|
end
|
||||||
|
|
||||||
for i,v in ipairs(CurrOpts) do
|
for i,v in ipairs(CurrOpts) do
|
||||||
local entrybutton = TI_GetOptionsPriorityFrame(i);
|
local entry = "TI_OptionsPriority" .. i;
|
||||||
local icon, entrytext = entrybutton:GetRegions();
|
local entrybutton = getglobal(entry);
|
||||||
local checkbox = entrybutton:GetChildren();
|
local entrytext = getglobal("TI_OptionsPriority"..i.."_Text");
|
||||||
local iconpath;
|
local iconpath;
|
||||||
if(v.name == nil) then TI_debug("oh noes") end;
|
if(v.name == nil) then TI_debug("oh noes") end;
|
||||||
entrytext:SetText(v.name);
|
entrytext:SetText(v.name);
|
||||||
if(v.type == "activequest") then
|
if(v.type == "activequest") then
|
||||||
if(v.icon) then
|
iconpath = "Interface\\GossipFrame\\ActiveQuestIcon";
|
||||||
iconpath = v.icon;
|
|
||||||
else
|
|
||||||
iconpath = "Interface/GossipFrame/ActiveQuestIcon";
|
|
||||||
end
|
|
||||||
elseif(v.type == "availquest") then
|
elseif(v.type == "availquest") then
|
||||||
if(v.icon) then
|
iconpath = "Interface\\GossipFrame\\AvailableQuestIcon";
|
||||||
iconpath = v.icon;
|
|
||||||
else
|
|
||||||
iconpath = "Interface/GossipFrame/AvailableQuestIcon";
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
if(v.icon) then
|
iconpath = "Interface\\GossipFrame\\" .. v.type .. "GossipIcon";
|
||||||
iconpath = v.icon;
|
|
||||||
else
|
|
||||||
iconpath = "Interface/GossipFrame/" .. v.type .. "GossipIcon";
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
icon:SetTexture(iconpath);
|
getglobal(entry .. "_Icon"):SetTexture(iconpath);
|
||||||
checkbox:SetChecked(v.state);
|
getglobal(entry .. "_Check"):SetChecked(v.state);
|
||||||
entrytext:SetWidth(156); --make sure to change this if you change the anchors in the XML
|
entrytext:SetWidth(156); --make sure to change this if you change the anchors in the XML
|
||||||
entrybutton:SetHeight( entrytext:GetHeight() + 6);
|
entrybutton:SetHeight( entrytext:GetHeight() + 6);
|
||||||
entrybutton:Show();
|
entrybutton:Show();
|
||||||
last = last+1;
|
last = last+1;
|
||||||
end
|
end
|
||||||
TI_HideUnusedOptionFrames(last);
|
for j=last, 16, 1 do
|
||||||
|
getglobal("TI_OptionsPriority" .. j):Hide();
|
||||||
|
end
|
||||||
TI_OptionsPriorityScrollFrame:SetVerticalScroll(0);
|
TI_OptionsPriorityScrollFrame:SetVerticalScroll(0);
|
||||||
TI_OptionsPriorityScrollFrame:UpdateScrollChildRect();
|
TI_OptionsPriorityScrollFrame:UpdateScrollChildRect();
|
||||||
TI_StatusIndicatorUpdate();
|
TI_StatusIndicatorUpdate();
|
||||||
@ -79,6 +41,31 @@ function TI_PopulateOptions(arg)
|
|||||||
TI_SettingCheckboxUpdate();
|
TI_SettingCheckboxUpdate();
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--[[
|
||||||
|
function TI_PopulateOptions(arg)
|
||||||
|
TI_debug(arg);
|
||||||
|
if(TI_status and TI_status.options) then
|
||||||
|
for i,v in ipairs(TI_status.options) do
|
||||||
|
local entry = "TI_OptionsPriority" .. i;
|
||||||
|
local iconpath;
|
||||||
|
if(v.name == nil) then TI_debug("oh noes") end;
|
||||||
|
if(getglobal(entry .. "_Text") == nil) then TI_debug("wtf "..entry .. "_Text") end;
|
||||||
|
getglobal(entry .. "_Text"):SetText(v.name);
|
||||||
|
if(v.type == "activequest") then
|
||||||
|
iconpath = "Interface\\GossipFrame\\ActiveQuestIcon";
|
||||||
|
elseif(v.type == "availquest") then
|
||||||
|
iconpath = "Interface\\GossipFrame\\AvailableQuestIcon";
|
||||||
|
else
|
||||||
|
iconpath = "Interface\\GossipFrame\\" .. v.type .. "GossipIcon";
|
||||||
|
end
|
||||||
|
getglobal(entry .. "_Icon"):SetTexture(iconpath);
|
||||||
|
getglobal(entry .. "_Check"):SetChecked(v.state);
|
||||||
|
getglobal(entry):Show();
|
||||||
|
end
|
||||||
|
end
|
||||||
|
TI_NPCListScrollBarUpdate();
|
||||||
|
end
|
||||||
|
]]--
|
||||||
|
|
||||||
function TI_NPCListScrollBarUpdate()
|
function TI_NPCListScrollBarUpdate()
|
||||||
if(TI_NPCIndex) then
|
if(TI_NPCIndex) then
|
||||||
@ -90,6 +77,19 @@ function TI_NPCListScrollBarUpdate()
|
|||||||
local offset = FauxScrollFrame_GetOffset(TI_NPCListScrollFrame);
|
local offset = FauxScrollFrame_GetOffset(TI_NPCListScrollFrame);
|
||||||
local i=1;
|
local i=1;
|
||||||
local j=1;
|
local j=1;
|
||||||
|
--~ for k, v in pairs(TI_NPCDB) do
|
||||||
|
--~ if(offset <= i and i < offset+8) then
|
||||||
|
--~ if(i <= table.getn(TI_NPCDB)) then
|
||||||
|
--~ getglobal("TI_OptionsNPCContainer"..j.."_Text"):SetText(k);
|
||||||
|
--~ getglobal("TI_OptionsNPCContainer"..j.."_Check"):SetChecked(v.state);
|
||||||
|
--~ getglobal("TI_OptionsNPCContainer"..j):Show();
|
||||||
|
--~ else
|
||||||
|
--~ getglobal("TI_OptionsNPCContainer"..j):Hide();
|
||||||
|
--~ end
|
||||||
|
--~ j = j + 1;
|
||||||
|
--~ end
|
||||||
|
--~ i = i + 1;
|
||||||
|
--~ end
|
||||||
|
|
||||||
for line=1,8 do
|
for line=1,8 do
|
||||||
lineplusoffset = line + FauxScrollFrame_GetOffset(TI_NPCListScrollFrame);
|
lineplusoffset = line + FauxScrollFrame_GetOffset(TI_NPCListScrollFrame);
|
||||||
@ -110,8 +110,8 @@ function TI_NPCListScrollBarUpdate()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_SelectNPCIndex(self)
|
function TI_SelectNPCIndex()
|
||||||
local index = self:GetID();
|
local index = this:GetID();
|
||||||
if(TI_LoadedNPCIndex == index) then
|
if(TI_LoadedNPCIndex == index) then
|
||||||
TI_LoadedNPCIndex = 0;
|
TI_LoadedNPCIndex = 0;
|
||||||
else
|
else
|
||||||
@ -121,8 +121,8 @@ function TI_SelectNPCIndex(self)
|
|||||||
TI_PopulateOptions("select npc");
|
TI_PopulateOptions("select npc");
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_DeleteNPCIndex(self)
|
function TI_DeleteNPCIndex()
|
||||||
local index = self:GetParent():GetID();
|
local index = this:GetParent():GetID();
|
||||||
TI_DeleteNPC(index);
|
TI_DeleteNPC(index);
|
||||||
if(TI_LoadedNPCIndex == index) then
|
if(TI_LoadedNPCIndex == index) then
|
||||||
TI_LoadedNPCIndex = 0;
|
TI_LoadedNPCIndex = 0;
|
||||||
@ -130,9 +130,9 @@ function TI_DeleteNPCIndex(self)
|
|||||||
TI_PopulateOptions("npclist update");
|
TI_PopulateOptions("npclist update");
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_NPCToggle(self)
|
function TI_NPCToggle()
|
||||||
local index = self:GetParent():GetID();
|
local index = this:GetParent():GetID();
|
||||||
TI_NPCDB[TI_NPCIndex[index]].state = self:GetChecked();
|
TI_NPCDB[TI_NPCIndex[index]].state = this:GetChecked();
|
||||||
|
|
||||||
if(TI_NPCDB[TI_NPCIndex[index]].state) then
|
if(TI_NPCDB[TI_NPCIndex[index]].state) then
|
||||||
TI_LoadedNPCIndex = index;
|
TI_LoadedNPCIndex = index;
|
||||||
@ -144,14 +144,14 @@ function TI_NPCToggle(self)
|
|||||||
TI_PopulateOptions("select npc");
|
TI_PopulateOptions("select npc");
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_OptionMove(self, offset)
|
function TI_OptionMove(offset)
|
||||||
local CurrOpts;
|
local CurrOpts;
|
||||||
if(TI_LoadedNPCIndex > 0) then
|
if(TI_LoadedNPCIndex > 0) then
|
||||||
CurrOpts = TI_NPCDB[TI_NPCIndex[TI_LoadedNPCIndex]];
|
CurrOpts = TI_NPCDB[TI_NPCIndex[TI_LoadedNPCIndex]];
|
||||||
else
|
else
|
||||||
CurrOpts = TI_status.options;
|
CurrOpts = TI_status.options;
|
||||||
end
|
end
|
||||||
local id = self:GetParent():GetID();
|
local id = this:GetParent():GetID();
|
||||||
local newid = id + offset;
|
local newid = id + offset;
|
||||||
|
|
||||||
if(newid < 1 or newid > table.getn(CurrOpts)) then
|
if(newid < 1 or newid > table.getn(CurrOpts)) then
|
||||||
@ -165,15 +165,15 @@ function TI_OptionMove(self, offset)
|
|||||||
TI_PopulateOptions("move");
|
TI_PopulateOptions("move");
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_OptionToggle(self)
|
function TI_OptionToggle()
|
||||||
local CurrOpts;
|
local CurrOpts;
|
||||||
if(TI_LoadedNPCIndex > 0) then
|
if(TI_LoadedNPCIndex > 0) then
|
||||||
CurrOpts = TI_NPCDB[TI_NPCIndex[TI_LoadedNPCIndex]];
|
CurrOpts = TI_NPCDB[TI_NPCIndex[TI_LoadedNPCIndex]];
|
||||||
else
|
else
|
||||||
CurrOpts = TI_status.options;
|
CurrOpts = TI_status.options;
|
||||||
end
|
end
|
||||||
local id = self:GetParent():GetID();
|
local id = this:GetParent():GetID();
|
||||||
if(self:GetChecked()) then
|
if(this:GetChecked()) then
|
||||||
CurrOpts[id].state=true;
|
CurrOpts[id].state=true;
|
||||||
else
|
else
|
||||||
CurrOpts[id].state=false;
|
CurrOpts[id].state=false;
|
||||||
@ -194,8 +194,8 @@ function TI_StatusIndicatorUpdate()
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function TI_StatusIndicator_CheckFn(self)
|
function TI_StatusIndicator_CheckFn()
|
||||||
if(self:GetChecked()) then
|
if(this:GetChecked()) then
|
||||||
TI_Switch("on");
|
TI_Switch("on");
|
||||||
else
|
else
|
||||||
TI_Switch("off");
|
TI_Switch("off");
|
||||||
@ -203,10 +203,10 @@ function TI_StatusIndicator_CheckFn(self)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function TI_TempNPCListTooltipShow(self)
|
function TI_TempNPCListTooltipShow()
|
||||||
TI_Tooltip:SetOwner(self, ANCHOR_PRESERVE);
|
TI_Tooltip:SetOwner(this, ANCHOR_PRESERVE);
|
||||||
TI_Tooltip:ClearLines();
|
TI_Tooltip:ClearLines();
|
||||||
local id = self:GetID();
|
local id = this:GetID();
|
||||||
TI_Tooltip:AddLine(TI_TempNPCList[id].location);
|
TI_Tooltip:AddLine(TI_TempNPCList[id].location);
|
||||||
for i,v in ipairs(TI_TempNPCList[id].list) do
|
for i,v in ipairs(TI_TempNPCList[id].list) do
|
||||||
TI_Tooltip:AddLine("- " .. v.name);
|
TI_Tooltip:AddLine("- " .. v.name);
|
||||||
@ -220,8 +220,8 @@ function TI_TooltipHide()
|
|||||||
TI_Tooltip:Hide();
|
TI_Tooltip:Hide();
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_TooltipMessage(self, msg)
|
function TI_TooltipMessage(msg)
|
||||||
TI_Tooltip:SetOwner(self, ANCHOR_PRESERVE);
|
TI_Tooltip:SetOwner(this, ANCHOR_PRESERVE);
|
||||||
TI_Tooltip:ClearLines();
|
TI_Tooltip:ClearLines();
|
||||||
TI_Tooltip:SetText(msg);
|
TI_Tooltip:SetText(msg);
|
||||||
TI_Tooltip:Show();
|
TI_Tooltip:Show();
|
||||||
@ -230,34 +230,34 @@ end
|
|||||||
function TI_TempNPCListUpdate()
|
function TI_TempNPCListUpdate()
|
||||||
local last = 1;
|
local last = 1;
|
||||||
for i,v in ipairs(TI_TempNPCList) do
|
for i,v in ipairs(TI_TempNPCList) do
|
||||||
local tempbuttontext = _G["TI_TempNPCListWindow"..i.."_Text"];
|
local tempbuttontext = getglobal("TI_TempNPCListWindow"..i.."_Text");
|
||||||
tempbuttontext:SetText(v.name);
|
tempbuttontext:SetText(v.name);
|
||||||
tempbuttontext:GetParent():Show();
|
tempbuttontext:GetParent():Show();
|
||||||
last = last+1;
|
last = last+1;
|
||||||
end
|
end
|
||||||
for j=last, TI_TempNPCListMaxSize, 1 do
|
for j=last, TI_TempNPCListMaxSize, 1 do
|
||||||
_G["TI_TempNPCListWindow" .. j]:Hide();
|
getglobal("TI_TempNPCListWindow" .. j):Hide();
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_NPCListCheckboxTooltip(self)
|
function TI_NPCListCheckboxTooltip()
|
||||||
if(self:GetChecked()) then
|
if(this:GetChecked()) then
|
||||||
TI_TooltipMessage(self, "NPC is using specific settings.");
|
TI_TooltipMessage("NPC is using specific settings.");
|
||||||
else
|
else
|
||||||
TI_TooltipMessage(self, "NPC is using default settings.");
|
TI_TooltipMessage("NPC is using default settings.");
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_OptionListCheckboxTooltip(self)
|
function TI_OptionListCheckboxTooltip()
|
||||||
if(self:GetChecked()) then
|
if(this:GetChecked()) then
|
||||||
TI_TooltipMessage(self, "This option is enabled.");
|
TI_TooltipMessage("This option is enabled.");
|
||||||
else
|
else
|
||||||
TI_TooltipMessage(self, "This option is disabled.");
|
TI_TooltipMessage("This option is disabled.");
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function TI_SettingCheckboxFn(self, var)
|
function TI_SettingCheckboxFn(var)
|
||||||
if(self:GetChecked()) then
|
if(this:GetChecked()) then
|
||||||
TI_status[var] = true;
|
TI_status[var] = true;
|
||||||
else
|
else
|
||||||
TI_status[var] = false;
|
TI_status[var] = false;
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
package-as: TurnIn
|
|
||||||
Loading…
Reference in New Issue
Block a user