vanilla-wow-addons – Rev 1
?pathlinks?
function SW_SlashCommand(msg)
if msg == nil then return; end
local _,_, c, v = string.find(msg, "([^ ]+) (.+)");
if c == nil then
c = string.gsub(msg, " ", "");
end
if c == "" then
SW_PrintHelp();
return;
end
local cmd = nil;
for k,v in pairs(SW_SlashCommands) do
if v["c"] == c then
cmd = v;
break;
end
end
if cmd == nil then
SW_printStr(SW_CONSOLE_NOCMD .. c);
SW_printStr(SW_CONSOLE_HELP ..SW_RootSlashes[1].." "..SW_SlashCommands["help"]["c"]);
return;
end
if cmd["aC"] > 0 then
if v == nil or string.gsub(v, " ", "") == "" then
SW_printStr(cmd["u"]);
return;
end
cmd["f"](v);
else
cmd["f"]();
end
end
function SW_ResetAllWindows()
SW_BarFrame1:SetPoint("TOPLEFT",UIParent, "CENTER", -50, 50);
SW_BarFrame1:Show();
SW_TextWindow:SetPoint("TOPLEFT", UIParent, "CENTER");
SW_GeneralSettings:SetPoint("TOPLEFT",UIParent, "CENTER", 20, -20);
SW_GeneralSettings:Show();
SW_BarReportFrame:SetPoint("TOPLEFT",UIParent, "CENTER", 40, -40);
SW_BarReportFrame:Show();
SW_BarSyncFrame:SetPoint("TOPLEFT",UIParent, "CENTER", 60, -60);
SW_BarSyncFrame:Show();
SW_BarSettingsFrameV2:SetPoint("TOPLEFT",UIParent, "CENTER");
SW_FrameConsole:SetPoint("TOPLEFT",UIParent, "CENTER");
end
function SW_ToggleConsole()
local frame = getglobal("SW_FrameConsole")
if( frame:IsVisible() ) then
frame:Hide();
else
frame:Show();
end
end
function SW_ToggleBarFrame()
local frame = getglobal("SW_BarFrame1")
if( frame:IsVisible() ) then
SW_Settings["SHOWMAIN"] = nil;
frame:Hide();
else
SW_Settings["SHOWMAIN"] = true;
frame:Show();
end
end
function SW_ToggleLocks()
if SW_Settings["BFLocked"] then
SW_LockFrames();
else
SW_LockFrames(true);
end
end
function SW_ToggleGeneralSettings()
local frame = getglobal("SW_GeneralSettings")
if( frame:IsVisible() ) then
frame:Hide();
else
frame:Show();
end
end
function SW_DumpVar(cmdString)
local varName = string.gsub(cmdString, " ", "")
local g = getfenv();
if g[varName] == nil then
SW_printStr(varName..SW_CONSOLE_NIL_TRAILER);
return;
else
if type(g[varName]) == "table" then
SW_DumpTable(g[varName]);
else
SW_printStr(g[varName]);
end
end
end
function SW_ResetInfo()
SW_S_Details = {};
SW_S_Healed = {};
SW_S_SpellInfo = {};
SW_S_ManaUsage = {};
SW_S_LastManaSent = {0,0,0};
SW_CombatTime = 0;
SW_DPS_Dmg =0;
-- 1.5 the new pet systems needs a SW_RebuildFriendList
SW_PetInfo = {};
SW_PetInfo["OWNER_PET"] = {};
SW_PetInfo["PET_OWNER"] = {};
SW_RebuildFriendList();
--1.5.3 the Raid per second info
SW_RPS = SW_C_RPS:new();
SW_Sync_MsgTrack = {};
end
function SW_PostCheck(target)
local id;
if SW_Settings["SYNARP"] then
return true;
end
if UnitInRaid("player") then
if IsRaidLeader() or IsRaidOfficer() then
return true;
else
if target == "RAID" then
return false;
else
return true;
end
end
--[[ hmm i think this is to restrictive
elseif UnitInParty("player") then
if IsPartyLeader() then
return true;
else
if target == "PARTY" then
return false;
else
return true;
end
end
--]]
else
return true;
end
end
function SW_ResetCheck()
local id;
if SW_Settings["SYNCLastChan"] == nil then
StaticPopup_Show("SW_Reset");
return;
else
-- are we still in this channel?
id, _ = GetChannelName(SW_Settings["SYNCLastChan"]);
if id == 0 then
StaticPopup_Show("SW_Reset");
return;
else
--here we are in a active syncchan
if UnitInRaid("player") then
if IsRaidLeader() or IsRaidOfficer() then
StaticPopup_Show("SW_ResetSync");
else
StaticPopup_Show("SW_ResetFailInfo");
end
else
if IsPartyLeader() then
StaticPopup_Show("SW_ResetSync");
else
StaticPopup_Show("SW_ResetFailInfo");
end
end
end
end
end
function SW_RebuildFriendList()
if GetNumRaidMembers() > 0 then
SW_Make_Friends("RAID");
elseif GetNumPartyMembers() > 0 then
SW_Make_Friends("GROUP");
else
SW_Make_Friends();
end
end
function SW_PrintHelp()
local con = getglobal("SW_FrameConsole");
if con ~= nil and con:IsVisible() then
con = getglobal("SW_FrameConsole_Text1_MsgFrame");
else
con = DEFAULT_CHAT_FRAME;
end
if con ~= nil then
for k,v in pairs(SW_SlashCommands) do
if v["c"] ~= nil then
if v["si"] ==nil then
con:AddMessage("|cc0c0ff00"..v["c"]..":");
else
con:AddMessage("|cc0c0ff00"..v["c"]..":"..NORMAL_FONT_COLOR_CODE.." "..v["si"]);
end
if v["u"] ~= nil then
con:AddMessage(NORMAL_FONT_COLOR_CODE.." "..v["u"]);
end
end
end
end
end
function SW_ManualSyncJoin(chanName)
if tonumber(chanName) then
StaticPopup_Show("SW_InvalidChan");
return;
end
SW_SyncChanID = 0;
SW_SyncQueue:Clear();
if SW_Settings["SYNCLastChan"] ~= nil then
LeaveChannelByName(SW_Settings["SYNCLastChan"]);
SW_Settings["SYNCLastChan"] = nil;
end
SW_SyncJoin(chanName);
end
function SW_KickPlayer(who)
if UnitInRaid("player") and not (IsRaidLeader() or IsRaidOfficer()) then
return;
end
SW_SendSyncKick(who);
end
function SW_InitResetVote()
if SW_SyncChanID ~= 0 and SW_Settings["SYNCLastChan"] ~= nil then
SW_ResetVote();
end
end
function SW_VersionCheck()
SW_SyncSendRSV();
local swc = getglobal("SW_FrameConsole");
if not swc:IsVisible() then
swc:Show();
end
end
function SW_GetSkillUsage(cmdString)
SW_SyncSendRSU(cmdString);
local swc = getglobal("SW_FrameConsole");
if not swc:IsVisible() then
swc:Show();
end
end
Generated by GNU Enscript 1.6.5.90.